拉取官方的镜像:
docker pull tomcat

等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 tomcat 的镜像:
docker images

运行容器
docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat
-
-p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口。
-
-v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的 test 挂载到容器的 /test。

查看容器启动情况
docker ps

然后用浏览器访问,发现404了

使用命令: docker exec -it tomcat容器ID /bin/bash 进入到tomcat的目录
docker exec -it 33f46f9489e2 /bin/bash
进入 webapps 文件夹,发现里面是空的(tomcat 默认的欢迎页面实际上放在的路径应该是 webapps/ROOT/index.jsp 或者 index.html)
发现旁边还有个 webapps.dist 的文件,进入才发现原本应该在 webapps 文件中的文件都在 webapps.dist 文件中
拷贝 webapps.dist 目录下的内容到 webapps 目录下 (或者删除 webapps 目录,并且将 webapps.dist 目录重名为 webapps )
cp -r webapps.dist/* webapps/

再次访问 tomcat 主页


本文档介绍了如何使用Docker拉取并运行Tomcat镜像,通过端口映射和数据卷挂载设置,然后遇到404错误。问题在于webapps目录为空,实际内容在webapps.dist中。解决方案是将webapps.dist的内容复制到webapps目录,或者直接重命名webapps.dist为webapps,重启容器后,访问Tomcat主页恢复正常。
2163

被折叠的 条评论
为什么被折叠?



