Оверлейная сеть Docker, соединения с портами не видны в netstat

#docker #port #overlay #netstat

#docker #порт #оверлей #netstat

Вопрос:

Я играю с Docker Swarm, пытаясь понять проблему IPv6 для Docker Swarm и оверлейной сети, когда обнаружил странное поведение.

netstat должен показывать все соединения, но в опубликованном порту оверлейной сети docker подключение к конечной точке не отображается.

Работа по воспроизведению:

  • Установите два сервера с помощью Docker
  • Установите Docker и инициализируйте Docker Swarm
  • Создайте оверлейную сеть
  • Разверните nginx в оверлейной сети и опубликуйте порт 80

    создание сети docker — наложение драйвера на nginx создание службы docker -имя my-nginx -цель публикации = 80, опубликовано = 80 -сетевой nginx -реплики = 2 nginx

Затем подключитесь с любого клиента к веб-серверу, созданному с помощью netcat:

 nc 10.0.2.34 80
  

Проверьте вывод netstat с обеих сторон:

Клиент:

 [root@docker1 centos]# netstat -ano | grep 80
tcp        0      0 10.0.0.208:39924        10.0.2.34:80      ESTABLISHED off (0.00/0/0)
  

на сервере:

 [root@docker2 centos]# netstat -ano | grep 80
tcp6       0      0 :::80                 :::*                    LISTEN      off (0.00/0/0)
  

Вы не увидите соединение, которое было установлено клиентом.
Но соединение работает, я могу получить главную страницу из nginx.

Кто-нибудь может это объяснить?