Отказ в доступе к выходам контейнера gitlab docker - PullRequest
0 голосов
/ 19 марта 2019

У меня есть док-контейнер, на котором выполняется эта конфигурация для образа gitlab-ce:

version: "3"
services:
  gitlab:
   hostname: gitlab.mydomain.com
   image: gitlab/gitlab-ce:latest
   container_name: gitlab
   restart: always
   ports:
     - 3000:80
   volumes:
     - /opt/gitlab/config:/etc/gitlab
     - /opt/gitlab/logs:/var/log/gitlab
     - /opt/gitlab/data:/var/opt/gitlab
networks:
  default:
    external:
      name: custom_network

При запуске docker ps я вижу, что мой контейнер работает и работает с портом контейнера 80, назначенным на порт хоста 3000, как и предполагалось.

Хотя при запуске: wget -O- https://172.25.0.2:3000 я получаю это сообщение об ошибке: Connecting to 172.25.0.2:3000... failed: Connection refused.

1 Ответ

1 голос
/ 19 марта 2019

Когда вы сопоставляете порт, вы должны использовать IP-адреса хоста для доступа через сопоставленный порт.

Поэтому, если вам нужен доступ к порту 80, используйте IP-адрес контейнера.Если вам нужен доступ к порту 3000, используйте IP-адрес хоста или локальный хост самого главного хоста или даже если у вас есть частный интерфейс внутри вашего хоста.

Итак, эта команда: wget -O- https://172.25.0.2:3000 означает, что вы говоритек контейнеру напрямую, а не через сопоставленный порт и запросив службу, прослушивающую порт 3000, что не соответствует действительности, поэтому в результате будет отказано в соединении.

...