Docker 端口转发不正确?

Docker not port forwarding correctly?

我正在尝试 运行 一个 gitlab docker 图像,一切正常 运行ning,除了当我导航到该网站时,端口 80 导致 "Connection refused",但是8080端口成功到达Gitlab。

但是,它显示它正在容器上从 8080 转发到 80:

CONTAINER ID    IMAGE               COMMAND              CREATED               STATUS               PORTS                                          NAMES
14b2ac3c0de6    gitlab/gitlab-ee    "/assets/wrapper"    About a minute ago    Up About a minute    0.0.0.0:8080->80/tcp, 0.0.0.0:8443->443/tcp    gitlab

我是这样运行安装容器的。

sudo docker run --detach \
    --publish 8443:443 --publish 8080:80 --publish 2222:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ee:latest

如果您想通过主机上的端口 80 访问该服务,请使用 --publish 80:80。否则,主机上没有任何内容在侦听端口 80,您将被拒绝连接。 443 也一样。

格式为

 --publish <host port>:<container port>

我的解决方案如下所示:

docker network create --subnet=172.18.0.0/16 selnet docker run --net selnet --ip 172.18.0.2 -p 0.0.0.0:80:8080 --expose=80 hub

我可以使用 localhost:Port 或 172.18.0.2:Port

连接到我的容器