Докер по Synology - привязка ко всем интерфейсам - PullRequest
0 голосов
/ 18 января 2019

У меня есть док-контейнер MariaDB, работающий на Synology DS918 + и перенаправляющий трафик с порта контейнера 3306 на внешний порт 3333

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

Рабочая:

ash-4.3# netstat -nao | grep 5000
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      off (0.00/0/0)
tcp6       0      0 :::5000                 :::*                    LISTEN      

Не работает:

ash-4.3# netstat -nao | grep 3333
tcp6       0      0 :::3333                 :::*                    LISTEN      off (0.00/0/0)

Когда я пытаюсь получить доступ к порту 3333 с моего ноутбука на удаленную машину, на которой запущен докер, я могу это сделать, проблема заключается в том, что при попытке доступа к частному IP-адресу машины изнутри самой машины этот сбой не срабатывает

Любая помощь приветствуется здесь

1 Ответ

0 голосов
/ 18 января 2019

Для пояснения, хотя ваш докер привязывается только к интерфейсу ipv6 («:::»), а не к ipv4 («0.0.0.0»), Docker запрещает петлевое подключение к своему docker-прокси с хоста. Я считаю, что это также не работает во всех сетевых режимах.

Если вы подключаетесь из контейнера в другой контейнер, используйте имя контейнера через docker-dns и частную локальную сеть. Например, если ваш контейнер MariaDB называется «maria», я считаю, что DNS докера на 127.0.0.11 предлагает поиск имени «maria» для 172. . . * Ipv4, к которому могут подключаться другие контейнеры. если в той же 172. {подсеть}. . / 16 в качестве вашего хоста MariaDB. Соединитесь с «Марией» в другом контейнере, и TCP волшебным образом доберется до нужного места.

Если вы пытаетесь подключиться от хоста докера к контейнеру, это проблема, с которой я смирился с прокси с моего маршрутизатора в шпилечном NAT на те же порты upnp, которые я экспортировал через Внешний доступ на Synology , который кажется плохим решением, но работает сегодня.

...