> 文章列表 > 将war包发布到容器中的tomcat

将war包发布到容器中的tomcat

将war包发布到容器中的tomcat

文章目录

  • 将war包直接发布到容器
  • 使用数据卷将war包持久化到docker的宿主机(CentOS7)

将war包直接发布到容器中

1、将windows中的文件通过xftp程序传到centOS7中

将war包发布到容器中的tomcat

2、创建容器,通过docker中的命令将web.jar复制到tomcat容器中

# 查看docker中的镜像
~]$ docker images
# 创建容器
~]$ docker run --name tomcat1 -dit -p 8080:8080 tomcat:9-jdk8
# 宿主机与容器之间的文件复制
# docker cp 宿主机的文件路径 容器名称:容器内存放文件的目录路径
~]$ docker cp /root/toc/web.war tomcat:/usr/local/tomcat/webapps

将war包发布到容器中的tomcat
将war包发布到容器中的tomcat

3、进入容器内容系统查看是否复制成功

#docker exec [选项] 容器名称/容器ID [命令]
docker exec -it tomcat1 /bin/bash

将war包发布到容器中的tomcat
将war包发布到容器中的tomcat

4、访问测试

将war包发布到容器中的tomcat

该发布方式一旦容器被删除其war包数据也会随之删除,数据无法持久化

使用数据卷将war包持久化到docker的宿主机(CentOS7)

数据卷的作用是使容器中数据持久化.达到宿主机与容器间数据共享的目的

1、使用镜像命令创建容器并指定数据卷位置

#创建tomcat容器并使用-v指令指定数据卷
~]$ docker run --name tomcat3 -dit -p 8080:8080 -v /root/toc/webapps:/usr/local/tomcat/webapps tomcat:9-jdk8

将war包发布到容器中的tomcat

创建成功

2、进入容器内部查看是否共享成功

将war包发布到容器中的tomcat
共享成功

3、测试

访问成功
将war包发布到容器中的tomcat
即使删除了容器也能再次运行下面的命令读取CentOS7中webapps下的所用项目
docker run --name tomcat2 -dit -p 8080:8080 -v /root/toc/webapps:/usr/local/tomcat/webapps tomcat:9-jdk8

数据卷的好处

使用数据卷可以把所有的项目程序都发布到CentOS7与容器共享的webapps目录内,开启容器时只需要使用-v命令tomcat容器便可以解析其中所有的项目,因为tomcat容器中的webapps目录与CentOS的webapps目录是共享的,只需要将想要移植的项目(windows中的或外部的)移动到CentOS7中的webapps目录内tomcat容器就可以读取,省的每次创建tomcat容器还要一个个将打包后的项目复制到tomcat容器中。
将war包发布到容器中的tomcat