首页 > 解决方案 > Docker 端口未公开

问题描述

使用 Windows,我已经通过

docker pull jenkins

我正在通过以下命令运行一个新容器,它似乎可以正常启动容器。但是当我尝试在浏览器上访问 Jenkins 页面时,我只会收到以下错误消息。我期待看到 Jenkins 主登录页面。当我尝试其他图像(如 Redis、Couchbase 和 JBoss/Wildfly)时也出现同样的问题。我究竟做错了什么?Docker 新手和以下教程,其中描述了以下命令来公开端口。对于此处给出的一些答案+文档也是如此。请指教。谢谢。

docker run -tid -p 127.0.0.1:8097:8097 --name jen1 --rm jenkins

在浏览器中,只是得到一个正常的“问题加载页面错误”。

The site could be temporarily unavailable or too busy.

标签: docker

解决方案


从这里看一下 Jenkins Dockerfile :

FROM openjdk:8-jdk

RUN apt-get update && apt-get install -y git curl && rm -rf /var/lib/apt/lists/*

ARG user=jenkins
ARG group=jenkins
ARG uid=1000
ARG gid=1000
ARG http_port=8080
ARG agent_port=50000
.....
.....
# for main web interface:
EXPOSE ${http_port}

# will be used by attached slave agents:
EXPOSE ${agent_port}

如您所见,端口 8080 被暴露,而不是 8097。将您的命令更改为

docker run -tid -p 8097:8080 --name jen1 --rm jenkins


推荐阅读