我是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)
是的,命令docker ps显示[0.0.0.0:port]的映射只告诉你主机已准备好侦听该分配的端口,然后将你映射到映射端口,这是你的容器&# 39;暴露。
根据你的评论,你解决了吗?