您好,欢迎来到微智科技网。
搜索
您的当前位置:首页Docker学习笔记 - Docker容器之间的连接

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

  

  

使用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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务