Docker 容器互聯

2021-09-23 23:27:33 字數 1637 閱讀 4795

容器的連線(linking)系統是除了埠對映以外的另一種可以與容器中應用進行互動的方式。它會在源和接收容器之間建立乙個隧道,接收容器可以看到源容器指定的資訊。

一、自定義容器命名

連線容器依據系統容器的名稱來執行,但自定義命名容器有兩個好處

使用–name標記可以為容器自定義命名

docker ps -a

#檢視容器name

docker inspect -f

"}" container_id #檢視容器name

二、容器互聯

使用 –link引數可以讓容器之間安全的進行互動。

docker run -d --name db 192.168.0.216:5000/postgres       #建立db容器

docker exec -it web /bin/bash #進入web容器檢視link資訊

在容器中,檢視環境變數。我們可以看到關於db的link資訊

db_name=/web/db

db_port_5432_tcp_addr=172.17.0.92

db_port=tcp:

db_port_5432_tcp=tcp:

db_port_5432_tcp_port=5432

db_port_5432_tcp_proto=tc

在容器中,檢視/etc/hosts對映檔案,我們也可以看到db的資訊

root@b3ae42ca7792

# cat /etc/hosts | grep -v ip6

172.17.0.93 b3ae42ca7792

127.0.0.1 localhost

172.17.0.92 db 49ca543a5074

並且可以ping通db容器,說明現在web和db容器已經互聯

ping 172.17

.0.92 (172.17

.0.92) 56(84) bytes

of data.

64bytes

from

172.17

.0.92: icmp_seq=1 ttl=64

time=0.062 ms

64bytes

from

172.17

.0.92: icmp_seq=2 ttl=64

time=0.053 ms

64bytes

from

172.17

.0.92: icmp_seq=3 ttl=64

time=0.057 ms

三、通過執行容器進行檢視互聯資訊

在下圖中,我將通過引數–rm進行執行容器,並且執行命令後進行刪除操作,來檢視容器–link db後的資訊

大家可以清楚的看到,我先執行容器,並且連線db檢視env環境變數

第二條命令連線db檢視/etc/hosts檔案

第三條命令檢視web_del容器是否存在,發現執行結束就已被刪除

docker 容器互聯

docker容器之間,預設是可以互相連線的 當啟動兩個容器contain1,contain2 contain1 ping contain2 ip contain2 ping contain1 ip 兩個是相互能ping通的 即使能夠互聯,但是,當我們重啟容器,或者重啟docker服務時 容器的ip就...

Docker 容器互聯

可以指定容器繫結的網路位址,比如繫結 127.0.0.1。預設都是繫結 tcp 埠,如果要繫結 udp 埠,可以在埠後面加上 udp。docker port 命令可以讓我們快捷地檢視埠的繫結情況。docker port t1 當建立乙個容器的時候,docker 會自動對它進行命名。也可以使用 nam...

Docker容器互聯(六)

介紹在乙個宿主機中的多個容器之間的互聯 拒絕鏈結以及允許特定容器間的連線 docker預設同乙個宿主機中的容器是可以互相連通的。1 環境介紹使用centos映象建立容器,因centos是簡化版,沒有ifconfig命令,需要安裝。安裝net tools工具解決ifconfig yum y insta...