Docker没有正确的端口转发?

时间:2015-12-31 15:22:53

标签: docker containers gitlab portforwarding ports

我正在尝试运行gitlab docker镜像,一切运行正常,但是当我导航到网站时,端口80导致"连接被拒绝",但端口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

2 个答案:

答案 0 :(得分:12)

如果要通过主机上的端口80访问服务,请使用--publish 80:80。否则主机上没有任何东西在端口80上侦听并且您拒绝连接。同样适用于443.

格式为

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

答案 1 :(得分:0)

我的解决方案如下:

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连接到我的容器