1

我有一个 docker 容器为 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.

4

1 回答 1

1

映射端口时,应使用主机 IP 通过映射的端口进行访问。

因此,如果您需要访问端口,请80使用容器 IP。如果您需要访问端口3000,请使用主主机本身的主机 IP 或 localhost,或者即使您的主机内部有一个私有接口。

所以这个命令:wget -O- https://172.25.0.2:3000意味着你不是通过映射的端口直接与容器交谈,并请求一个监听端口 3000 的服务,这不是真的,所以结果将是连接被拒绝。

于 2019-03-18T23:52:52.540 回答