я не могу получить доступ к контейнеру в docker - PullRequest
0 голосов
/ 11 марта 2020

На моем сервере CentOS 7 Linux запущено несколько служб. Nginx и netdata выполняются как root и работают хорошо.

Я запустил Portainer как контейнер Docker:

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer

Я могу подключиться к порту Portainer локально с telnet localhost 9000. Но когда я пытаюсь telnet ip 9000 с внешнего клиента P C в той же сети, он не подключается.

На сервере Linux нет брандмауэра. Nginx, netdata и myapp, которые не работают в Docker, работают нормально. Короче говоря, все другие службы могут быть доступны с сервера Linux без брандмауэра, но внутренняя служба контейнеров Docker недоступна.

Что мне нужно изменить, чтобы иметь возможность связаться с контейнером

1 Ответ

0 голосов
/ 11 марта 2020

Вы должны отключить ipv6

и добавить эти ссылки в /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1 
net.ipv6.conf.default.disable_ipv6 = 1

, чтобы применить эти

sysctl -p
...