web-dev-qa-db-ja.com

Dockerは正しくポート転送しませんか?

Gitlab dockerイメージを実行しようとしていますが、Webサイトに移動すると、ポート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
8
Fadi

使用する --publish 80:80ホストのポート80を介してサービスにアクセスする場合。それ以外の場合、ポート80でリッスンしているホストには何も存在せず、接続が拒否されます。同じことが443にも当てはまります。

フォーマットは

 --publish <Host port>:<container port>
12
Matt

私の解決策は次のようになります。

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を使用してコンテナに接続できます

0
Nils Zenker