三。 Docker应用部署
3.1 准备SSM工程
我没视频里的工程,于是只弄了mysql和tomcat
3.2 准备MySQL容器
# 运行MySQL容器 docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=your_password daocloud.io/library/mysql:5.7.5
3.3 准备Tomcat容器
# 运行Tomcat容器,前面已经搞定,只需要将SSM项目的war包部署到Tomcat容器内部即可
# 可以通过命令将宿主机的内容服务到容器内部
docker cp 文件名称 容器id:容器内部路径
# 举个例子
docker cp ssm.war fe:/usr/local/tomcat/webapps
3.4 数据卷
为了部署SSM的工程,需要使用到cp命令将宿主机内的ssm.war文件复制到容器内部。
数据卷:将宿主机的一个目录映射到容器的一个目录中。
可以在宿主机中操作目录中的内容,那么容器内部映射的文件,也会跟着一起改变。
# 1. 创建数据卷 docker volume create 数据卷名称 # 创建数据卷之后,默认会存放在一个目录下 /war/lib/docker/volumes/数据卷名称/_data
# 2. 查看数据卷的详细信息 docker volume inspect 数据卷名称
# 3. 查看全部数据卷 docker volume ls
# 4. 删除数据卷 docker volume rm 数据卷名称
# 5. 应用数据卷 # 当你映射数据卷时,如果数据卷不存在,Docker会自动帮你创建,会将容器内部自带的文件,存储在默认的存放路径中 docker run -v 数据卷名称:容器内部的路径 镜像id # 直接指定一个路径作为数据卷的存放位置,这个路径下是空的。 docker run -v 路径:容器内部的路径 镜像id
macos 的同学可能会进不去数据卷路径的问题,原因在于mac就不是docker的宿主机,而是一个QEMU虚拟机。
可参考这里