ubuntu:使用 Ubuntu 镜像
发布时间:2025-06-24 19:01:28 作者:北方职教升学中心 阅读量:981
+-------------+| Container |+-------------+ | Shared with Host | 172.24.87.42。
ubuntu:使用 Ubuntu 镜像。
该容器没有网络功能。
my_overlay_network:新网络名称。分配终端。docker swarm init。
docker swarm init。
docker run -dit --name host_container --network host ubuntu。
±------------+
Macvlan(MAC 地址网络:将虚拟网卡分配给容器。
macvlan_network:新网络名称。
网络拓扑:
+-------------+ +-------------+ +-------------+| container | | container2 | | container3 || 172.24.87.10| | 172.24.87.11| | 172.24.87.12|#43;-------------+ +-------------+ +-------------+ \ | / +-------- Physical Network (eth0) --------+
Overlay(覆盖网络):用于跨主机 Swarm 集群通信。
±------------+
| Container | (No external network)。
docker network create -d overlay my_overlay_network。创建一个名字 macvlan_network 的 Macvlan 网络,连接到该网络的容器可以直接与物理网络通信,拥有自己的 MAC 地址。
Overlay(覆盖网络):用于跨主机 Swarm 集群通信。
–name host_container:指定容器的名称。docker network create --driver bridge my_bridge_network。
–gateway=192.168.1.1:指定网络网关地址。
Docker 提供五种网络模式:
- Bridge(桥接网络):默认模式用于连接同一主机上的容器。交互模式、(扩展,非WSL)
提示:在 WSL 中,最常用的是 Bridge 和 Host 模式。
None(无网络:该容器没有网络功能。docker network create:创建新的 Docker 网络。None(无网络:该容器没有网络功能。
IP: 172.24.87.42/20 WSL 网络地址范围。docker network create:创建新的 Docker 网络。docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o parent=eth0 macvlan_network。(扩展,非WSL)
初始化 Swarm。
-d overlay:指定网络驱动为 overlay,用于跨多个 Docker 主机的网络通信。
docker run:运行一个新的容器。Host(主机网络):与主机共享网络栈
启动一个容器 host_container,该容器将共享主机的网络环境,使用主机的 IP 地址和端口。
–subnet=192.168.1.0/24:定义网络的 IP 子网范围。
Host(主机网络):集装箱与主机共享网络栈。
Bridge 网络是 Docker 默认网络模式,容器通信适用于在同一主机上运行。默认用于容器c;允许同一主机上的容器相互通信。
网络拓扑:。
容器将获得与主机相同的网段 IP 地址,例如 172.24.87.X。(扩展,非WSL)
初始化 Swarm。
Host(主机网络):集装箱与主机共享网络栈。通过 NAT,与主机和外部网络进行通信。
–driver bridge:桥接模式(指定网络驱动;bridge),这是一种网络类型,
创建一个名字 my_overlay_network 的 Overlay 网络,以支持在 Swarm 跨主机通信在集群服务之间进行。
-o parent=eth0:将 Macvlan 网络绑定到主机 eth0 物理接口。
首先了解宿主机的ip:
lo (Loopback 接口):。
-dit:后台运行、
-d macvlan:指定网络驱动为 macvlan,允许容器像物理机器一样直接连接到物理网络。
my_bridge_network:新创建的网络名称,可根据需要进行定制。
启动容器:
docker run --rm -it --network none alpine ip a。
网络拓扑:。
IP 地址:Docker 为 docker0 分配独立地址空间(默认 172.17.0.0/16 或 172.18.0.0/16)网络拓扑:;-------------+ +-------------+| container | | container2 || 172.18.0.2 | | 172.18.0.3 |+-------------+ +-------------+ \ / +------- docker0 -------+ (172.18.0.1) | NAT | +------------------+ | Host (eth0) | | 172.24.87.42/20 | +------------------+ | External Network。
Macvlan(MAC 地址网络:为容器分配虚拟网卡。网络拓扑:
+-------------+ +-------------+ +-------------+| container | <----> container2 | <----> container3 |+-------------+ +-------------+ +-------------+ | | | Overlay Network spanning multiple hosts (e.g., Swarm)。
–network host:使用主机的网络堆栈指定容器。
docker network create:创建新的 Docker 网络。 (以太网接口):。
IP: 127.0.0.1.
本地回环地址,本机只能访问
eth00。
Bridge(桥接网络):默认模式用于连接同一主机上的容器。完全隔离,不要连接到任何网络。