Docker学习笔记 - Docker容器之间的连接

本文详细介绍了Docker容器之间的互联方式,包括通过--link参数实现容器间的连接与访问,使用--icc参数控制容器间的通信策略,并展示了如何通过iptables进一步定制容器网络规则。

学习目标:

容器之间可以相互连接访问:: --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

转载于:https://www.cnblogs.com/lexiaofei/p/6372010.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值