Docker映像运行但在我的Chrome上没有

时间:2019-11-29 13:28:58

标签: docker

我在计算机上运行了一个Docker

enter image description here

当我想加入我的码头工人http://127.0.0.1:8888时,我遇到了错误 enter image description here

为什么错了?

Dockerfile:

FROM tomcat:9-jre8
RUN echo "export JAVA_OPTS=\"-Dapp.env=staging\"" > /usr/local/tomcat/bin/setenv.sh  
# Copy to images tomcat path
ADD /target/*.war /usr/local/tomcat/webapps/myProject.war
EXPOSE 8888
CMD ["catalina.sh", "run"]

2 个答案:

答案 0 :(得分:6)

Tomcat默认情况下在端口8080上运行http。您应该将映射更改为端口8080

例如 docker run -p 8080:8080 <your image name>

如果您想让tomcat在8080以外的端口上运行,则需要编辑server.xml并更改端口。我不建议在docker容器中这样做。而是让tomcat在默认端口上运行并更改端口映射。因此,如果您希望该服务在本地计算机的端口8888上公开,则将映射更改为

docker run --publish=8888:8080 -d registry.gitlab.com/myproject/registry:develop

答案 1 :(得分:0)

我刚刚尝试在具有8080端口的docker中运行tomcat-9,并且能够做到这一点。

  1. 我克隆了一些示例git-hub链接,其中包含示例hello-world程序。

git clone https://github.com/efsavage/hello-world-war

  1. 使用上面给出的条目创建的docker文件。刚刚暴露的端口为8080(Tomcat默认端口)
FROM tomcat:9-jre8
RUN echo "export JAVA_OPTS=\"-Dapp.env=staging\"" > /usr/local/tomcat/bin/setenv.sh
ADD /target/*.war /usr/local/tomcat/webapps/myProject.war
EXPOSE 8080
CMD ["catalina.sh", "run"]

  1. 构建docker映像。
docker build -t tomcat_image .
  1. 运行docker映像
docker run -p 8080:8080 tomcat_image:latest
  1. 在网络浏览器中访问“ http://127.0.0.1:8080/”,我使用了google chrome。瞧!有效。请在下面的屏幕截图中找到

enter image description here

希望这会有所帮助!

更新:尝试使用8888端口,它可以正常工作!!。按照@Mohit Mutha的建议,您需要通过将端口映射为8080来运行docker run命令。

docker run -p 8888:8080 tomcat_image:latest

附加了新的屏幕截图。 enter image description here