使用docker compose构建完整前后端分离项目流程及避坑指南
目标
使用docker-compose.yml构建项目,实现容器服务编排,一键部署,停止、启动。
准备环境
- 已经安装好的docker服务器一台 当前环境 Linux centos7.9 \docker 26.1.4
- 项目依赖准备:后端包、前端包、数据库脚本文件、redis镜像
创建目录结构
myproject
--------web ----前端目录nginx和前端代码 Dockerfile目录
--------snowy ----后端开源项目 Dockerfile目录
--------database -----数据库mysql Dockerfile目录
--------config —挂载配置文件路径
--------data —挂载数据目录
--------static ----挂载静态文件目录
编写web\snowy\database目录下的Dockerfile
web:
[root@master1 myproject]# cat web/dockerfile
FROM nginx
snowy:
[root@master1 myproject]# cat snowy/dockerfile
FROM docker-0.unsee.tech/openjdk:17
COPY snowy-web-app-3.0.0.jar /usr/local/snowy/snowy-web-app-3.0.0.jar
COPY wait-for-it.sh /usr/local/snowy/wait-for-it.sh
WORKDIR /usr/local/snowy
VOLUME /logs
EXPOSE 83
#ENTRYPOINT ["java","-jar","snowy-web-app-3.0.0.jar","--logging.file.name=/logs"]
RUN chmod +x wait-for-it.sh
#CMD ["wait-for-it.sh", "mydb:3306", "--",