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 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(桥接网络):默认模式�用于连接同一主机上的容器。完全隔离,不要连接到任何网络。