docker支持橋接模式;Docker網絡bridge橋接模式是創(chuàng)建和運行容器時默認模式,這種模式會為每個容器分配一個獨立的網卡,橋接到默認或指定的bridge上,同一個Bridge下的容器下可以互相通信。
本教程操作環(huán)境:linux7.3系統(tǒng)、docker-1.13.1版、Dell G3電腦。
docker支持橋接模式嗎
Docker安裝時會創(chuàng)建一個名為docker0的虛擬網橋。除非我們進行另外的配置,新創(chuàng)建的容器都會自動連接到這個虛擬網橋提供的風格,bridge網絡用于同一主機上的docker容器相互通信,連接到同一個網橋的docker容器可以相互通信。
bridge 對宿主機來講相當于一個單獨的網卡設備 對于運行在宿主機上的每個容器來說相當于一個交換機,所有容器的虛擬網線的一端都連接到docker0上。
容器通過本地主機進行上網,容器會創(chuàng)建名為veth的虛擬網卡,網卡一端連接到docker0網橋,另一端連接容器,容器就可以通過網橋通過分配的IP地址進行上網。
我們也可以自定義自己的bridge網絡,docker文檔建議使用自定義bridge網絡,
bridge模式實例
導入容器并啟動
docker load < /share/images/httpd.tar docker run -d --name httpd -p 80:80 httpd
驗證
docker exec -it httpd cat /etc/hosts
創(chuàng)建自定義網絡
創(chuàng)建一個自定義網絡, 可以指定子網、IP地址范圍、網關等網絡配置
docker network create --driver bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 mynet2
查看docker網絡,是否創(chuàng)建成功。
docker network ls
查看自定義網絡的細節(jié)
brctl show ifconfig docker network inspect mynet2
創(chuàng)建容器bb1,連接到自定義網絡,并進入容器驗證,可以看到該容器的ip地址為172.22.16.2
docker run --name bb1 -it --network mynet2 busybox:latest ifconfig
驗證后我們按Ctrl+P后,再按Ctrl+Q,從bb1容器退回到主機環(huán)境而不關閉容器bb1
再創(chuàng)建一個容器bb2,也連接到網絡mynet2中
docker run --name bb2 --network mynet2 -it busybox:latest
進入容器,訪問bb1容器的ip地址,進行驗證
ping 172.22.16.2
會得到如下 類似回復
PING 172.22.16.2 (172.22.16.2): 56 data bytes 64 bytes from 172.22.16.2: seq=0 ttl=64 time=0.439 ms 64 bytes from 172.22.16.2: seq=1 ttl=64 time=0.140 ms 64 bytes from 172.22.16.2: seq=2 ttl=64 time=0.129 ms
總結
Docker網絡bridge橋接模式,是創(chuàng)建和運行容器時默認模式。這種模式會為每個容器分配一個獨立的網卡,橋接到默認或指定的bridge上,同一個Bridge下的容器下可以互相通信的。我們也可以創(chuàng)建自定義bridge以滿足個性化的網絡需求。
推薦學習:《docker視頻教程》