各类 Docker 网络
2024-10-17
Docker
Bridge 网络
Bridge 网络是 Docker 的默认网络驱动, 适用于单主机上的容器通信.
在 app1 容器中想要访问另一个容器中的服务, 可以通过另一个容器的名字如 app2 来访问这个服务.
创建一个 Bridge 网络
docker network create --driver bridge my_bridge_network
运行容器并连接到自定义 Bridge 网络
docker run -d --name db --network my_bridge_network mysql
Host 网络
容器共享宿主机的网络栈, 容器内的应用可以直接使用宿主机的网络接口和端口.
仅适用于 Linux 系统, Windows 和 macOS 对 Host 网络的支持有所不同.
启动容器的时候直接指定 host 网络就行了, 这种方式类似于在宿主主机上直接安装软件.
docker run -d --name my_host_container --network host nginx
IPvlan 网络
可以给容器配置不同的 IP 地址.
容器拥有独立的 IP 地址, 但共享宿主机 MAC 地址(L3 模式)或拥有独立的 MAC(L2 模式).
在 L3 模式下, 容器与宿主机可以通信.
创建一个 IPvlan 网络(L3 模式)
docker network create -d ipvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 \
-o ipvlan_mode=l3 \
my_ipvlan_network
运行容器并连接到自定义 IPvlan 网络
docker run -d --name ipvlan_container --network my_ipvlan_network nginx
标签:容器,network,ipvlan,--,网络,各类,Docker
From: https://www.cnblogs.com/zy24/p/18472534