Docker容器互聯(六)

2021-09-26 08:16:58 字數 2034 閱讀 6319

介紹在乙個宿主機中的多個容器之間的互聯、拒絕鏈結以及允許特定容器間的連線

docker預設同乙個宿主機中的容器是可以互相連通的。

1、環境介紹使用centos映象建立容器,因centos是簡化版,沒有ifconfig命令,需要安裝。

#安裝net-tools工具解決ifconfig

yum -y install net-tools

2、建立兩個容器c1和c2進行互聯

#建立c1容器

docker run -it --name c1 centos /bin/bash

#建立c2容器

docker run -it --name c2 centos /bin/bash

1、在容器內使用ifconfig檢視兩個容器的ip位址

2、在c2容器中ping c1容器的位址,能夠ping通。

3、 進入c1容器中ping c2容器位址,能夠ping通。

組合鍵 ctrl+p+q 退出c2容器

進入c1容器 docker attach c1

容器 link方式互聯可以解決上面因容器重啟ip重新分配導致不能提供穩定服務的問題。link工作原理:link自動將對方容器的ip位址和容器的名稱對映到自己的hosts檔案中,當容器重啟後hosts中會自動重新整理容器的ip位址,因此link通過容器名稱訪問,不受ip位址變化的影響。

1、建立 link

#link命令使用

docker run -it --name c3 --link=c1:c3-c1 centos /bin/bash

link命令介紹

2、檢視hosts目標容器的ip和名稱自動對映到了c3容器的hosts中。

3、通過容器別名訪問目標容器

#重啟docker容器

docker restart c1 c3

#進入c3容器

docker attach c3

#連線c1容器

在docker啟動配置檔案中新增icc=false

icc=true :預設為true 容器間可進行互聯,改為false拒絕容器間互聯

1、在啟動配置檔案中新增icc和iptables

2、啟動容器新增link指定要連線的目標容器。例如:啟動c3容器 link到c1容器

3、清除iptables

4、重啟啟動docker服務

5、再次啟動docker容器,進入c3容器訪問c1。訪問成功。

docker 容器互聯

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

Docker 容器互聯

容器的連線 linking 系統是除了埠對映以外的另一種可以與容器中應用進行互動的方式。它會在源和接收容器之間建立乙個隧道,接收容器可以看到源容器指定的資訊。一 自定義容器命名 連線容器依據系統容器的名稱來執行,但自定義命名容器有兩個好處 使用 name標記可以為容器自定義命名 docker ps ...

Docker 容器互聯

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