Docker中启动Tomcat过程及外部访问报HTTP Status 404 – 未找到报错解决

环境:8.5.54

部署方式:docker

docker版本:Docker version 19.03.8

一、从仓库拉取一个tomcat镜像下来:docker pull tomcat:8.5.54

二、创建一个tomcat容器:docker run -itd --name tomcat5.8  -p 8081:8080   tomcat:8.5.54

1.启动后发现界面报错 :HTTP Status 404 – 未找到

Docker中启动Tomcat过程及外部访问报HTTP Status 404 – 未找到报错解决_第1张图片

2.用 docker ps 查看容器

Docker中启动Tomcat过程及外部访问报HTTP Status 404 – 未找到报错解决_第2张图片

3.再通过exec命令进入容器:docker exec -it 68c241f24239 /bin/bash

 4..进入webapps文件夹,发现里面是空的(tomcat默认的欢迎页面实际上放在的路径应该是:webapps/ROOT/index.jsp或者index.html),旁边还有个webapps.dist的文件,进入才发现原本应该在webapps文件中的文件都在webapps.dist文件中。所以将webapps.dist重命名为webapps即可解决问题:

 

5.将修改后的容器提交生成一个新镜像:docker commit -m="update mv webapps.dist webapps" -a="mh" 68c241f24239 my_tomcat:v2.1

 docker commit 命令参数详解:

           -m:提交时的说明文字

            -a:提交的镜像作者

三、重新启动新生成的镜像:docker run -itd -p 8888:8080 my_tomcat:v2.1 (其实这一步可以不用,因为第5步执行完后,你就会发现 tomcat 的界面已经可以出来了)

 Docker中启动Tomcat过程及外部访问报HTTP Status 404 – 未找到报错解决_第3张图片

 

直接配置:
搜索镜像(默认去Docker Hub查找):

docker search tomcat

Docker中启动Tomcat过程及外部访问报HTTP Status 404 – 未找到报错解决_第4张图片

注意:启动的镜像名字并指定版本(如果启动时不知道版本,就会运行最新版本,如果docker里面没有最新版本的tomcat,就会自动的去阿里云镜像仓库重新拉取)

关掉容器

docker stop ID

删除进程
当时用docker -ps -a 的时候历史的启动的记录也会出来 ,这里注意就是 如果历史启动的容器的端口 ,假如你在启动一个容器端口和历史的一样的话是启动不起来的所以把停掉的容器清除一下,清除容器的时候必须把容器先停掉在去删

docker rm ID

你可能感兴趣的:(Linux)