Docker 容器互聯(lián)互通的實(shí)現(xiàn)方法
本文講解不同網(wǎng)絡(luò)下的容器可以通過(guò)加入同一個(gè)docker網(wǎng)絡(luò),來(lái)訪問(wèn)該docker網(wǎng)絡(luò)下的容器,并且既可以通過(guò)容器ip也可以通過(guò)容器名連接,非常方便。
上篇講到創(chuàng)建自定義網(wǎng)絡(luò),我創(chuàng)建了 mynet 網(wǎng)絡(luò),并指定了網(wǎng)關(guān)和子網(wǎng)地址。在上篇結(jié)尾呢,我拋出了一個(gè)問(wèn)題:其它網(wǎng)絡(luò)下的容器可以直接訪問(wèn)mynet網(wǎng)絡(luò)下的容器嗎?今天就讓我們一塊看下怎么實(shí)現(xiàn)容器互聯(lián)。
其它網(wǎng)絡(luò)下的容器加入mynet網(wǎng)絡(luò),實(shí)現(xiàn)一個(gè)容器兩個(gè)ip地址
網(wǎng)絡(luò)集群
- 先創(chuàng)建
test-network網(wǎng)絡(luò):
docker network create test-network
- 再運(yùn)行
centos01容器并加入到test-network網(wǎng)絡(luò)下
docker run -it -P --name centos01 --net test-network centos
centos01容器已經(jīng)加入在test-network網(wǎng)絡(luò)下了
centos01加入mynet網(wǎng)絡(luò)
root@--- ~]# docker network connect mynet centos01
查看mynet網(wǎng)絡(luò)
docker network ls
[root@--- ~]# docker network ls NETWORK ID NAME DRIVER SCOPE feafa30d4051 bridge bridge local e8bf4fced9e2 host host local 0096a971fd2c mynet bridge local # 自定義bridge網(wǎng)橋 6263db0933b9 none null local 799426d70aa2 test-network bridge local
docker network inspect 0096
[root@--- ~]# docker network inspect 0096
[
{
"Name": "mynet",
"Id": "0096a971fd2c66400e53cbae5e53eceedc2f90d5685917e9534640a3535c0ef1",
"Created": "2021-10-04T10:18:09.113847736+08:00",
# ... 省略代碼展示
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "192.168.0.0/16",
"Gateway": "192.168.0.1"
}
]
},
# ... 省略代碼展示
"Containers": {
"2fac920eebd505794c4a27ef4efdf531d32805e8663bded93a473bd28236bc27": {
"Name": "mynet-centos01",
"EndpointID": "3aff075...",
"MacAddress": "02:42:c0:a8:00:02",
"IPv4Address": "192.168.0.2/16",
"IPv6Address": ""
},
"3dceda051252b6970fe2156bac7710ba6489a97aac68c49b1c85a2f130d0556f": {
"Name": "mynet-tomcat01",
"EndpointID": "9f52b19...",
"MacAddress": "02:42:c0:a8:00:03",
"IPv4Address": "192.168.0.3/16",
"IPv6Address": ""
},
"cb1922b95b9316d129b54f3545fad9729092926e10a1d5517f8928db42706151": {
"Name": "centos01",
"EndpointID": "0ba2107...",
"MacAddress": "02:42:c0:a8:00:04",
"IPv4Address": "192.168.0.4/16", # 新加入的centos01容器
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
查看centos01的容器信息
可以看到Networks下面存在mynet、test-network兩個(gè)網(wǎng)絡(luò)連接信息
一個(gè)容器兩個(gè)ip地址
無(wú)關(guān)代碼已省略展示
[root@--- ~]# docker inspect cb19
[
{
"Id": "cb1922b95b9316d129b54f3545fad9729092926e10a1d5517f8928db42706151",
"Created": "2021-10-03T13:39:00.942877668Z",
"Path": "/bin/bash",
"Args": [],
# ... 省略代碼展示
"NetworkSettings": {
# ... 省略代碼展示
"Networks": {
# 網(wǎng)絡(luò)連接1 : mynet
"mynet": {、
# ... 省略代碼展示
"Gateway": "192.168.0.1",
"IPAddress": "192.168.0.4",
"MacAddress": "02:42:c0:a8:00:04",
},
# 網(wǎng)絡(luò)連接2 : test-network
"test-network": {
# ... 省略代碼展示
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.3",
"MacAddress": "02:42:ac:12:00:03",
}
}
}
}
]
test-network網(wǎng)卡下的centos01訪問(wèn)mynet網(wǎng)卡下的mynet-centos01、mynet-tomcat01
容器ip和容器名都可以連接
進(jìn)入centos01容器
[root@--- ~]# docker exec -it cb19 /bin/bash
mynet-tomcat01 容器的IP是: 192.168.0.3
ping mynet-tomcat01 容器的IP
[root@cb1922b95b93 /]# ping 192.168.0.3 PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data. 64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.186 ms ^C --- 192.168.0.3 ping statistics --- 7 packets transmitted, 7 received, 0% packet loss, time 6000ms rtt min/avg/max/mdev = 0.090/0.127/0.186/0.029 ms
直接ping 容器名 mynet-centos01 mynet-tomcat01
[root@cb1922b95b93 /]# ping mynet-centos01 PING mynet-centos01 (192.168.0.2) 56(84) bytes of data. 64 bytes from mynet-centos01.mynet (192.168.0.2): icmp_seq=1 ttl=64 time=0.105 ms ^C --- mynet-centos01 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.105/0.116/0.130/0.013 ms [root@cb1922b95b93 /]# ping mynet-tomcat01 PING mynet-tomcat01 (192.168.0.3) 56(84) bytes of data. 64 bytes from mynet-tomcat01.mynet (192.168.0.3): icmp_seq=1 ttl=64 time=0.085 ms ^C --- mynet-tomcat01 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.085/0.093/0.102/0.012 ms [root@cb1922b95b93 /]#
結(jié)論
其它網(wǎng)絡(luò)下的容器可以通過(guò)加入docker網(wǎng)絡(luò),來(lái)訪問(wèn)該docker網(wǎng)絡(luò)下的容器,并且既可以通過(guò)容器ip也可以通過(guò)容器名連接,非常方便。docker0十分強(qiáng)大

到此這篇關(guān)于Docker 容器互聯(lián)互通的文章就介紹到這了,更多相關(guān)Docker 容器互聯(lián)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Linux?Docker中部署RStudio?Server實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)的操作
下面介紹在Linux?docker中安裝RStudio?Server并結(jié)合cpolar內(nèi)網(wǎng)穿透工具,實(shí)現(xiàn)遠(yuǎn)程訪問(wèn),docker方式安裝可以避免很多問(wèn)題,一鍵安裝,如設(shè)備沒(méi)有安裝docker,需提前安裝docker,對(duì)?Docker部署RStudio?Server相關(guān)知識(shí)感興趣的朋友一起看看吧2023-12-12
Docker部署php運(yùn)行環(huán)境(php-fpm+nginx)
Docker?是一種流行的容器化平臺(tái),可以幫助開(kāi)發(fā)人員快速創(chuàng)建、部署和管理容器化應(yīng)用程序,本文將介紹如何使用?Docker?搭建?PHP?開(kāi)發(fā)環(huán)境服務(wù)器,讓您能夠輕松地開(kāi)始?PHP?開(kāi)發(fā)工作,感興趣的可以了解一下2023-11-11
docker-compose+nginx部署前后端分離的項(xiàng)目實(shí)踐
本文主要介紹了docker-compose?+?nginx部署前后端分離的項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
docker安裝mysql并實(shí)現(xiàn)數(shù)據(jù)卷掛載的示例代碼
本文介紹了如何通過(guò)Docker安裝MySQL并實(shí)現(xiàn)了數(shù)據(jù)卷掛載,詳細(xì)說(shuō)明了創(chuàng)建容器、配置掛載以及驗(yàn)證數(shù)據(jù)持久性的步驟,對(duì)于需要在Docker環(huán)境下部署MySQL的用戶非常有幫助2024-10-10
關(guān)于docker?cgroups資源限制的問(wèn)題
cgroups是一個(gè)非常強(qiáng)大的linux內(nèi)核工具,他不僅可以限制被namespace隔離起來(lái)的資源,還可以為資源設(shè)置權(quán)重、計(jì)算使用量,這篇文章主要介紹了docker?cgroups資源限制,需要的朋友可以參考下2022-09-09
Docker-利用dockerfile來(lái)搭建tomcat服務(wù)的方法
這篇文章主要介紹了Docker-利用dockerfile來(lái)搭建tomcat服務(wù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
十分鐘學(xué)會(huì)用docker部署微服務(wù)
這篇文章主要介紹了十分鐘學(xué)會(huì)用docker部署微服務(wù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Docker-Compose搭建Redis集群的實(shí)現(xiàn)教程
本文主要介紹了Docker-Compose搭建Redis集群的實(shí)現(xiàn)教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

