我有一个运行gitlab-ce映像的docker容器:
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.
答案 0 :(得分:1)
映射端口时,应使用主机IP通过映射的端口进行访问。
因此,如果您需要访问端口80
,请使用容器IP。
如果您需要访问端口3000
,请使用主机本身的主机IP或本地主机,甚至在主机内部有专用接口的情况下。
因此,此命令:wget -O- https://172.25.0.2:3000
表示您不是通过映射的端口直接与容器通信,而是请求侦听端口3000上的服务,这是不正确的,因此结果将被拒绝连接。