介紹在乙個宿主機中的多個容器之間的互聯、拒絕鏈結以及允許特定容器間的連線
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...