Docker 端口转发不正确?

标签 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

最佳答案

如果您想通过主机上的端口 80 访问服务,请使用 --publish 80:80。否则主机上没有任何东西在端口 80 上监听,你会被拒绝连接。 443 也是如此。

格式是

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

关于Docker 端口转发不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34548354/

相关文章:

postgresql - 使用 Docker : sqlalchemy. exc.OperationalError : (psycopg2. OperationalError) FATAL: 用户 "username"的密码验证失败

docker - 在运行时将环境变量传递给 Kubernetes

ip - 创建 docker 机器或容器时如何设置特定的固定 IP 地址?

java - Tomcat 容器使用<error-page> 配置失败,如果响应对象的OutputStream 打开后出现异常

备份文件中的 gitlab 包

jenkins - GitLab 和 Jenkins 连接问题

vagrant - 通过Docker Provisioning了解 Vagrant

java - 在 kubernetes 中绑定(bind)应用程序 pod 和数据库 pod

Makefile - 附加到命令

git - 将 Gitlab 与 ReviewBoard 集成 - 文件 Blob 与提交 SHA1