1、思路
- docker部署项目是将项目的不同程序放入不同容器中运行,这样可以方便管理不同程序。
- 我的项目有Springboot、Vue、mysql三部分,Vue用nginx代理,因为nodejs太占空间了。
- 一开始我是用Dockerfile创建镜像再运行容器的,但发现它是基于别的镜像再创建镜像,比较占空间。
- 用docker-compose直接配置原镜像,用数据卷实现配置文件挂载加载,就能运行容器,不需要额外创建镜像,很快很节约,还没发现弊端。
- 提醒,生产环境下不建议把数据库部署在 Docker 容器内,性能、资源限制、数据迁移等都不理想。
2、编写docker-compose
- 在总项目(包含Springboot、Vue项目)目录下再创建一个文件夹
app2Docker专门放打包后的项目,在app2Docker里创建docker-compose.yml,内容如下。
version: '3'
services:
mysql-container:
image: mysql:5.7
container_name: mysql-container
environment:
MYSQL_ROOT_PASSWORD: "root"
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
blog_springboot:
image: openjdk:8-jdk
container_name