容器間互聯
默認情況下,在同一宿主機中運行的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選項配置的容器之間的訪問。