docker #docker-network
#docker #docker-сеть
Вопрос:
Я получаю четыре типа моделей docker network snapshot:
модель хоста (открытый контейнер) подключена к логическому интерфейсу хоста и интерфейсу обратной связи хост-машины.
в моем случае я создал контейнер модели хоста:
$ 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
для подключения к хосту (my macos), который имеет IP-адрес 192.168.65.3/24
но в моей macos я не нахожу IP-адрес под сегментом 192.168.65.0/24
.
$ ifconfig -a | grep 192.168.65
Ответ №1:
См. раздел Использование сети хоста, в нем явно упоминается --net=host
, что не работает на macos:
Сетевой драйвер хоста работает только на хостах Linux и не поддерживается на Docker Desktop для Mac, Docker Desktop для Windows или Docker EE для Windows Server.
Таким образом, сеть в контейнере наверняка не такая, как в вашей macos.