Docker多網絡功能可以讓容器在同一個Docker宿主機上,同時連接多個網絡。這給Docker應用程序的部署和網絡拓撲帶來了更加靈活的選擇。
# 創建網絡1 docker network create --subnet=172.18.0.0/16 net1 # 創建網絡2 docker network create --subnet=192.168.0.0/24 net2 # 創建容器,并連接兩個網絡 docker run -itd --name container --network net1 --network net2 busybox # 查看容器網絡配置 docker container inspect container
通過創建多個網絡,可以實現不同網絡的隔離,使容器只在需要的網絡中通信,增強了網絡安全性。
在一個容器同時連接多個網絡時,可以通過網絡名稱來訪問其他網絡中的容器。如果需要訪問外部網絡,則需要設置Docker宿主機為網關并進行NAT配置。
# 設置Docker宿主機為網關 iptables -t nat -A POSTROUTING -s 172.18.0.0/16 -j MASQUERADE # 配置NAT iptables -t nat -A PREROUTING -p tcp -d 192.168.0.1 --dport 80 -j DNAT --to-destination 172.18.0.2:80
總之,Docker多網絡功能為Docker應用程序的部署和網絡拓撲提供了更加靈活的選擇,同時也增強了網絡安全性。