Docker 容器跨主机通信之网络:overlay
当你安装了 docker
, 它会自动创建 3 个网络,可以使用 docker network ls
命令来查看。
(base) xiao@xiao:~$ docker network ls
NETWORK ID NAME DRIVER SCOPE
acb47f4c7ff0 bridge bridge local
f2b6a346bd84 host host local
d2699c7383f0 none null local
- Bridge模式(桥接模式):默认的网络模式,容器通过虚拟网桥连接到主机的物理网络接口上,可以通过端口映射将容器的端口映射到主机上。
- Host模式(主机模式):容器与主机共享网络命名空间,容器直接使用主机的网络栈,可以轻松访问主机上的网络资源,但会损失一定的隔离性。
- None模式(无网络模式):容器不连接到任何网络,只能通过内部与其他容器进行通信,不能与外部进行网络通信。
docker inspect
命令可以查看某个网络详情。
root@vm01:~# docker inspect bridge
[
{
"Name": "bridge",
"Id": "e11244c41ed7db4a5f43f392316c1dd1999bc7e49b74952f0aed6f5352a4a70f",
"Created": "2025-01-02T15:53:02.456439999+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
当你开启 docker swarm
模式时,overlay
网络模式就会出现了。
docker swarm
初始化如下所示:
……