容器间互联
默认情况下,在同一宿主机中运行的docker容器都是能够进行网络链接的。
docker关闭和重启会导致容器的ip地址发生变化,所以容器提供的服务不能够以IP地址进行相互链接
通过docker run –link选项指定容器的代号,直接通过代号进行容器的访问
docker run --link=[container_name]:[Alias] [image] [command]
//创建并启动容器bxp03,创建时链接容器bxp01并为容器bxp01起别名
//docker run --name=bxp03 --link=bxp01:bxp01.com -i -t centos /bin/bash
创建好容器bxp03后,在bxp03中通过ping bxp01.com
能够ping通bxp01。
打开bxp03的/etc/hosts文件发现容器启动时在host文件中添加了ip映射
此时重新启动docker服务,重新启动bxp01,bxp03。查看bxp03的/etc/hosts文件,发现IP映射会根据bxp01实际IP发生改变而改变。
注意:由于bxp03使用的bxp01的IP必须在启动bxp03之前先启动bxp01,否则bxp03无法启动。
拒绝所有容器间互联
使用docker run --iic=false
选项
(1)编辑sudo vi /etc/sysconfig/docker
docker配置文件
OPTIONS="--icc=false"
(2)重启docker服务
特定容器间的链接
(1)配置docker run --iic=false
选项
(2)配置docker run --iptables=true
选项,允许docker将网络配置选项添加到linux的iptables设置中。
(3)启动容器的时候使用link
选项
经过以上配置之后,docker会阻断所有容器之间的网络访问,仅仅允许通过link选项配置的容器之间的访问。