描述:我们直接在参考中拉取tomcat镜像,然后直接使用下面的命令启动:
docker run -d -it -p 8080:8080 --name tomcat tomcat
镜像创建成功,通过浏览器访问tomcat:http://192.168.25.216:8080/
我们进入容器找原因:
docker exec -it tomcat /bin/bash
# 进入到/usr/local/tomcat/webapps
cd /usr/local/tomcat/webapps
ls
1、进入webapps文件夹,发现里面是空的(tomcat默认的欢迎页面实际上放在的路径应该是:webapps/ROOT/index.jsp或者index.html)
2、在/usr/local/tomcat/目录中有个webapps.dist的文件,这里放着原本应该在webapps文件中的文件。
3、为此我们可以将webapps.dist 中的文件都复制到webapps 中即可。
cp -r webapps.dist/* webapps/
然后重新访问浏览器就可以了:
即使这样解决了问题,在新创建一个容器的时候,依旧会遇到上面的问题,为此我们可以采用挂载的方式:将容器中webapps.dist路径下面的内容,复制到宿主机的自定义路径/docker/tomcat/webapps/下面
# 复制容器中的目录,dokcer cp命令无法使用*,只能按照如下步骤操作:
docker cp tomcat:/usr/local/tomcat/webapps.dist/ /docker/tomcat/webapps/
# 将webapps.dist文件夹中的所有文件都复制到/docker/tomcat/webapps/
cp -r webapps.dist/* /docker/tomcat/webapps/
此时/docker/tomcat/webapps/路径下面文件:
此时我们使用命令挂载的方式重新创建容器:
docker run --name tomcat -p 8080:8080 -v /docker/tomcat/webapps/:/usr/local/tomcat/webapps/ -d tomcat
这样创建出来的tomccat容器就可以直接访问首页了