# docker容器之間,預設是可以互相連線的
# 當啟動兩個容器contain1, contain2
contain1: ping contain2_ip
contain2: ping contain1_ip
# 兩個是相互能ping通的
# 即使能夠互聯,但是,當我們重啟容器,或者重啟docker服務時
# 容器的ip就會發生變化,每次訪問都必須先進入其他容器查詢對應的ip
# 因此可以採用鏈結機制,讓docker服務自動維護,不需要重新查詢
docker run -i -t -d --name contain1 image_name bash
docker run -i -t --name contain2 --link=contain1:ping_test image_name bash
contain2:ping ping_test
# 此時是能夠ping通的
# 重啟docker服務
sudo service docker restart
docker restart cotnain1 contain2
contain2:ping ping_test
# 此時仍然能夠ping通
# 檢視ip配置
vim /etc/host
# 能夠ping_test維護了乙個ip位址,對應的就是contain1的ip位址
# 進入contain2
env# 能夠看出,特同時維護了contain1的對應ip
# 鏈結
docker --link=contain_name:aliash image_name
# --link能夠自動鏈結指定容器,docker自動管理對映,並自動更新變化ip
# contain_name : 鏈結容器名稱
# aliash : 容器別名
# 互聯原因
# docker 啟動時的 --icc 預設值為true,表示允許容器互聯
# 修改配置
vim /etc/default/docker
docker_opts=['--icc=false']
# 重啟docker服務
sudo service docker restart
# 此時,容器間就無法進行互聯
# 目前已經使用過了兩種命令(配置)
--icc
--link
# 對於一些容器,我們允許互聯,但是對於其他容器,我們禁止互聯
# 就必須採取一下配置辦法
--icc=true
--iptables=true
--link
# 1.修改配置
vim /etc/default/docker
docker_opts=['--icc=true --iptables=true']
# 重啟服務
sudo service docker restart
# 比如我們啟動三個容器contain1, contain2, contain3
docker run -d --name cotnain1 image_name bash
docker run -it --name contain2 image_name bash
docker run -it --name contain3 --link=contain1:ping_test image_name bash
# 此時能夠發現
contain2 -> contain1 # 不通
contain3 -> cintain1 # 通
# 也就是說,當採取了 --icc=true --iptables=true 設定時
# 只有設定了--link鏈結的容器能夠相互訪問
# 直接ip訪問已經被過濾掉了
# 具體資訊可以通過下面的方式檢視
iptables -l -n
# 當出現都訪問不了或者異常情況時
# 首先清空一下iptables
iptables -f
# 然後從起一下docker服務
sudo service docker restart
docker restart contain1 contain2 contain3
# 然後再檢視iptables
iptables -l -n
Docker 容器互聯
容器的連線 linking 系統是除了埠對映以外的另一種可以與容器中應用進行互動的方式。它會在源和接收容器之間建立乙個隧道,接收容器可以看到源容器指定的資訊。一 自定義容器命名 連線容器依據系統容器的名稱來執行,但自定義命名容器有兩個好處 使用 name標記可以為容器自定義命名 docker ps ...
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...