docker网络链接——容器互联

容器间互联

默认情况下,在同一宿主机中运行的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/dockerdocker配置文件

OPTIONS="--icc=false"

(2)重启docker服务

特定容器间的链接

(1)配置docker run --iic=false选项
(2)配置docker run --iptables=true选项,允许docker将网络配置选项添加到linux的iptables设置中。
(3)启动容器的时候使用link选项
经过以上配置之后,docker会阻断所有容器之间的网络访问,仅仅允许通过link选项配置的容器之间的访问。

发布了78 篇原创文章 · 获赞 69 · 访问量 8万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章