📅  最后修改于: 2023-12-03 15:00:30.662000             🧑  作者: Mango
在Docker中,网络是指Docker容器之间和容器与主机之间的网络连接。
Docker有四种网络类型,分别是:
bridge是Docker默认的网络类型,也叫“桥接网络”。桥接网络会在宿主机上创建一个虚拟网桥,Docker容器连接到这个虚拟网桥上,所有连接到同一个虚拟网桥的容器,都可以相互通信。
在host网络模式下,Docker容器将直接使用主机的网络配置,和主机网络共享同一个IP地址和端口。因此,容器的网络性能非常好,但是网络隔离性非常差,容器之间不能互相通信。
overlay网络类型主要用于跨主机的网络通信。Docker的overlay网络可以在多台主机上创建虚拟网络,这些虚拟网络可以相互通信,这种方式非常适合分布式应用场景。
macvlan网络是容器独立分配一个MAC地址和IP地址,使容器可以在主机网络中像一个物理计算机那样工作。这种网络类型适用于需要直接暴露到外部网络的场景。
docker network create [options] NETWORK
docker network ls
docker network inspect NETWORK
docker network connect NETWORK CONTAINER
docker network disconnect NETWORK CONTAINER
Docker提供了几种网络连接器,可以用来实现容器之间的通信、容器与主机之间的通信等。
docker run --name CONTAINER_NAME --network=NETWORK_NAME IMAGE_NAME
docker run --name CONTAINER_NAME --network=host IMAGE_NAME
docker service create --name SERVICE_NAME --network=OVERLAY_NETWORK_NAME IMAGE_NAME
Docker网络类型及其配置非常灵活,通过选择合适的网络类型和连接器,可以为不同的应用场景提供高效的网络支持。