文章目录
- 将war包直接发布到容器中
- 使用数据卷将war包持久化到docker的宿主机(CentOS7)
将war包直接发布到容器中
1、将windows中的文件通过xftp程序传到centOS7中
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
3、进入容器内容系统查看是否复制成功
#docker exec [选项] 容器名称/容器ID [命令]
docker exec -it tomcat1 /bin/bash
4、访问测试
该发布方式一旦容器被删除其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
创建成功
2、进入容器内部查看是否共享成功
共享成功
3、测试
访问成功
即使删除了容器也能再次运行下面的命令读取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容器中。