Сеть наложения Docker, Соединения портов не в netstat видимы - PullRequest
1 голос
/ 20 марта 2019

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

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

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

  • Установка двух серверов с Docker
  • Установка Docker и инициализация Docker Swarm
  • Создание оверлейной сети
  • Развертывание nginx в оверлейной сети и публикация порта 80

    Докерская сеть create - Перекрывающая служба оверлея nginx create --name my-nginx -цель публикации = 80, публикация = 80 --network nginx --replicas = 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.

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

...