【问题标题】:Host network do not have a IP segment who contains the docker host network model's interface IP主机网络没有包含 docker 主机网络模型的接口 IP 的 IP 段
【发布时间】:2021-12-03 13:10:35
【问题描述】:

我得到了四种模型类型的docker网络快照:

主机模型(开放容器)附加到主机的逻辑主机接口和环回接口。

在我的例子中,我创建了宿主模型容器:

$ docker run --name container-bridge --network=host  -it --rm busybox:latest

在容器中它有 10 个虚拟接口。

/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 02:50:00:00:00:01 brd ff:ff:ff:ff:ff:ff
    inet 192.168.65.3/24 brd 192.168.65.255 scope global deprecated dynamic noprefixroute eth0
       valid_lft 1415sec preferred_lft 0sec
    inet6 fe80::50:ff:fe00:1/64 scope link 
       valid_lft forever preferred_lft forever
3: tunl0@NONE: <NOARP> mtu 1480 qdisc noop qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
4: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop qlen 1000
    link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
5: services1@if6: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether c2:db:47:39:c7:fc brd ff:ff:ff:ff:ff:ff
    inet 192.168.65.4 peer 192.168.65.5/32 scope global services1
       valid_lft forever preferred_lft forever
    inet6 fe80::c0db:47ff:fe39:c7fc/64 scope link 
       valid_lft forever preferred_lft forever
7: br-b7cc12043647: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 02:42:30:d7:06:a7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.49.1/24 brd 192.168.49.255 scope global br-b7cc12043647
       valid_lft forever preferred_lft forever
    inet6 fe80::42:30ff:fed7:6a7/64 scope link 
       valid_lft forever preferred_lft forever
8: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue 
    link/ether 02:42:9e:26:2d:f9 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:9eff:fe26:2df9/64 scope link 
       valid_lft forever preferred_lft forever
10: veth2fba778@if9: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue master br-b7cc12043647 
    link/ether 52:64:9d:7f:d1:01 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5064:9dff:fe7f:d101/64 scope link 
       valid_lft forever preferred_lft forever

主界面是eth0,用于连接IP地址为192.168.65.3/24的主机(我的macos)

但在我的 macos 中,我在192.168.65.0/24 段下找不到 IP 地址。

$ ifconfig -a | grep 192.168.65

【问题讨论】:

    标签: docker docker-network


    【解决方案1】:

    Use host networking,它明确提到--net=host不适用于macos:

    主机网络驱动程序仅适用于 Linux 主机,不支持 Docker Desktop for Mac、Docker Desktop for Windows 或 Docker EE for Windows Server。

    因此,容器中的网络肯定与您的 macos 中的网络不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 1970-01-01
      • 2021-04-14
      • 2023-03-22
      • 2020-07-08
      • 1970-01-01
      相关资源
      最近更新 更多