创建Tomcat容器

创建的这个容器只是用来获取文件路径

1
docker run --name 自定义名称 -di -p 8080:8080 Tomcat镜像id

获取文件路径

进入容器的文件夹中

1
docker exec -it Tomcat容器id /bin/bash

获取三个文件夹conf、webapps、logs的文件路径

复制文件到宿主机

在宿主机的 home 目录下新建 tomcat 目录

1
mkdir /home/tomcat

复制容器里的 /usr/local/tomcat/conf、/usr/local/tomcat/webapps 到宿主机/home/tomcat/

复制 /usr/local/tomcat/conf

1
docker cp 容器id:/usr/local/tomcat/conf /home/tomcat/

复制 /usr/local/tomcat/webapps

1
docker cp 容器id:/usr/local/tomcat/webapps /home/tomcat/

创建新的Tomcat容器

这个容器是用来部署Java项目的,创建时挂载 /home/tomcat/conf、/home/tomcat/webapps、home/tomcat/logs

创建容器并挂载目录

1
docker run --name 自定义名称 -di -p 80:8080 -v /home/tomcat/conf:/usr/local/tomcat/conf -v /home/tomcat/webapps:/usr/local/tomcat/webapps -v /home/tomcat/logs:/usr/local/tomcat/logs Tomcat镜像id

上传Java项目

上传到 /home/tomcat/webapps 目录下,我上传的文件名为:WebTest.war,Docker 的 Tomcat 是热部署的所以会自动部署Java项目,过了一会儿就可以访问这个项目了,访问路径为:http://虚拟机的ip/WebTest

修改配置文件

修改宿主机的 /home/tomcat/conf 目录下的 server.xml,添加以下代码:

1
<Context path="" docBase="/usr/local/tomcat/webapps/WebTest" debug="0" reloadable="true" />

添加位置如下图:

重启新创建的Tomcat容器,即部署Java项目的容器

1
docker restart 容器id

然后访问项目可以不加项目名了,访问路径为:http://虚拟机的ip