我是 Docker 的新手,正在尝试设置一个运行简单 Tomcat J2EE Web 应用程序的容器。我已经构建了一个包含以下内容的 Docker 文件:
from tomcat
MAINTAINER Mike Storey (mike@ssgpp.com)
RUN rm -rf /usr/local/tomcat/webapps/ROOT
ADD ./ROOT.war //usr/local/tomcat/webapps/
EXPOSE 80 8080
在构建并启动容器后,我可以看到正在运行的 docker 进程
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
18518f75ca81 flatballflyer/aetkidmu:v1.7 "catalina.sh run" 7 minutes ago Up 7 minutes 0.0.0.0:32770->80/tcp, 0.0.0.0:32769->8080/tcp backstabbing_snyder
我看到 docker 容器中的端口 8080 映射到 0.0.0.0:32769,但是当我在我的主机上访问该地址时,出现连接失败错误。当我使用
登录容器时docker exec -it backstabbing_snyder bash
然后做一个
curl localhost:8080
我得到了预期的 html 页面。不确定我在这里遗漏了什么,非常感谢任何帮助。
最佳答案
是的,向您显示 [0.0.0.0:port] 映射的命令 docker ps 仅告诉您主机已准备好监听该分配的端口,然后将您映射到容器暴露的映射端口.
那么根据您的评论,您解决了吗?
关于tomcat - Docker Webapp 没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33964529/