Docker學習筆記 - Docker容器之間的連接


學習目標:

容器之間可以相互連接訪問:: --link redis:redisAlias 

 

准備工作

  FROM ubuntu:14.04

  RUN apt-get install -y ping

  RUN apt-get update

  RUN apt-get install -y nginx

  RUN pat-get install -y curl

  EXPOSE 80

  CMD /bin/bash

  

  #構建測試鏡像

  docker build -t lexiaofei/cct .

 

1、允許所有容器互聯 --icc=true 默認

  $ docker run -it --name cct1 lexiaofei/cct

  # nginx

  CTRL+P

  

  $ docker run -it --name cct2 lexiaofei/cct

  #ifconfig

  172.17.0.7

  CTRL+P

  $ docker attach cct1

  #ifconfig

  

  172.17.0.6

  

  # ping 172.17.0.7

      說明cct1能夠連接到cct2

  CTRL+P

 

  docker attach cct2

  curl http://172.17.0.6

  有返回值

 

  docker stop cct1

  docker restart cct1

  docker attach cct1

  ifconfig 發現ip變了,重啟實例會變化,所以不能使用容器ip地址互訪,重啟時會失效

  

  

使用link選項,指定代號訪問容器

docker run -it --name cct3 --link=cct1:webtest  /lexiaofei/cct

ping webtest

在cct3中,env 發現cct3啟動時添加了大量WEBTEST打頭的變量

vi /etc/hosts 發現添加了映射

 

sudo service docker restart

docker ps

docker restart cct1 cct2 cct3

docker attach cct3

ping webtest 發現能通

發現env和/etc/hosts也隨之變了。

 

2、拒絕容器間連接 -icc=false

     修改默認配置文件 /etc/default/docker

     修改完畢 service docker restart

  docker restart cct1 cct2 cct3

      docker attach cct3

      ping webtest 失敗

 

3、允許特定容器間連接

     設置 -icc=false --iptables=true, 修改默認配置文件 /etc/default/docker

     修改完畢 service docker restart

     使用--link選項

  docker attach cct1

  #nginx

  #exit

 

  docker attach cct3

  

  # curl webtest

  

  docker run -it --name cct4 --link=cct1:webtest  leixaofei/cct

  # curl webtest

 

  檢查設置iptables

  sudo iptables -L -n

  

  清空iptables

  sudo iptables -F

  sudo iptables -L -n

  sudo service docker restart 

  

  sudo iptables -L -n 規則鏈現在顯示可以了

  docker restart cct1 cct2 cct3 cct4

  docker attach cct1

  # nginx

  ctrl+p

  

  docker cct4

  curl cct1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM