Docker部署Tomcat的详细的步骤
首先通过docker拉取tomcat的镜像文件
docker pull tomcat:latest
# 查看镜像文件
docker images
运行结果:
通过docker的命令运行tomcat容器
docker run --name tomcat8080 -p 8080:8080 tomcat
运行结果:
补充:如果想运行多个tomcat,只需要修改端口号即可
docker run --name tomcat8080 -p 8080:8080 tomcat
docker run --name tomcat8081 -p 8081:8080 tomcat
如果要进行目录的挂载,可以查看下面的命令,大致过程就是先创建自己的目录,然后使用docker cp 将tomcat对应的目录结构下的文件复制到自己文件目录结构下
#先创建自己想要被挂载的目录结构
mkdir /mydata/tomcat
# 下面的三个操作是使用docker命令将tomcat目录结构下的三个文件复制移动到自己创建的目录结构下,方便后续的挂载
docker cp tomcat:/usr/local/tomcat/webapps.dist /mydata/tomcat
docker cp tomcat:/usr/local/tomcat/conf /mydata/tomcat
docker cp tomcat:/usr/local/tomcat/logs /mydata/tomcat
先停止tomcat并移除tomcat
docker stop tomcat8080
docker rm tomcat8080
重新进行目录结构的挂载
docker run --name tomcat8080 -p 8080:8080 -v {
mathJaxContainer[0]}PWD/logs:/usr/local/tomcat/logs -v $PWD/conf:/usr/local/tomcat/conf -d tomcat8080
# 补充节点小知识
# 1.$pwd是当前所处的位置
# 2.标识容器的俩个方法(俩个名称) (1).容器名称 (2).运行后给定的镜像ID号
遇到的问题以及解决的方案
接下来通过地址访问我们的tomcat接口地址,发现出现了问题,遇到了404,资源找不到的问题,是什么原因呢?我们该怎么解决呢?具体原因以及解决方案请看下面的内容
遇到问题:访问地址,出现HTTP Status 404的错误
地址栏中输入地址访问tomcat,但是出现404错误
出现的原因&解决问题的方案:
进入webapps文件夹,发现里面是空的(tomcat默认的欢迎页面实际上放在的路径应该是:webapps/ROOT/index.jsp),同一个目录下还有个webapps.dist的文件,进入才发现原本应该在webapps文件中的文件都在webapps.dist文件中。所以将webapps.dist重命名为webapps即可解决问题,或者在webapps文件夹下创建xxx.html文件也可以解决这个问题;
# 重命名一下文件
mv webapps webappsnull
mv webapps.dist webapps
# 重新启动容器
docker restart tomcat8080
运行结果:
再次访问地址,成功访问到了tomcat的资源目录