使用docker部署nginx+flask+gunicorn+mysql项目
目录结构
[root@k8s-master ~]# tree lab_project/ -L 2
lab_project/
├── docker-compose.yml
├── flask
│ ├── Dockerfile
│ └── lab_app
├── mysql
│ ├── Dockerfile
│ └── laboratory_web.sql
└── nginx
├── Dockerfile
└── nginx.conf
4 directories, 6 files
创建 mysql 镜像+容器
准备初始化数据库的 sql 脚本(mysqldump -uroot -p*** LABORATORY_WEB > laboratory_web.sql),包括建库,以及表的DDL和DML,这里为 laboratory_web.sql
以mysql5.7.20为基础镜像,Dockerfile如下:
FROM mysql:5.7.20
COPY ./laboratory_web.sql /docker-entrypoint-initdb.d
将 laboratory_web.sql 初始化数据库脚本复制进镜像的 /docker-entrypoint-initdb.d, 再启动容器时会自动执行脚本建库
使用build构建后,run 启动容器
docker build -t lab_project_mysql .
docker run -itd --name mysql -p 3