记录一次较为完整的服务打包发布流程
文章目录
- 1. Spring Boot编程
- 2. 打包成jar服务
- 3. 使用Docker Compose发布服务
1. Spring Boot编程
使用Spring Initializr
选择基本工具
导入常用工具
配置多环境
参考https://blog.csdn.net/qq_37992410/article/details/121008415, https://blog.csdn.net/xiaorui51/article/details/108452181
几个需要注意的地方
- 如果在一个application中配置,那一定要有“–”
- jdbc升级了,应该用
com.mysql.cj.jdbc.Driver
2. 打包成jar服务
参考https://blog.csdn.net/qq_34491508/article/details/91490434
3. 使用Docker Compose发布服务
这里使用Docker Compose发布服务
服务1 博客程序
# 使用基于 1.8 的环境
FROM openjdk:8
# 设置工作目录
WORKDIR /app
# 复制本机的 jar 文件到容器中
COPY ./miniBlogSystem-0.0.1-SNAPSHOT.jar /app/miniBlogSystem-0.0.1-SNAPSHOT.jar
# 运行 jar 文件,选择需要启动的active环境
CMD ["java", "-jar", "/app/miniBlogSystem-0.0.1-SNAPSHOT.jar", "--spring.profiles.active=docker"]
# 暴露容器内的11514端口
EXPOSE 11514
服务2 数据库服务
参考https://blog.csdn.net/m0_47406832/article/details/128320196实现数据库初始化
# 使用 MySQL 5 镜像
FROM mysql:5
# 设置环境变量
ENV MYSQL_ROOT_PASSWORD=123456
# 自定义用户名和密码
ENV MYSQL_USER=myuser
ENV MYSQL_PASSWORD=mypassword
# 复制 SQL 脚本到容器中
COPY sql /docker-entrypoint-initdb.d
# 将主机的 3307 端口映射到容器的 3306 端口
EXPOSE 3307:3306
复制sql
目录下的SQL 脚本到容器的docker-entrypoint-initdb.d
文件夹下,启动mysql的时候就会自动执行文件夹下的sql脚本,初始化数据库
整合成DockerCompose
设置两个目录,分别放各自的Dockerfile和相关依赖文件
# yaml 配置
version: '3'
services:
miniblog:
build: ./Dockerfile博客服务
ports:
- "11514:11514"
miniblog_mysql:
build: ./Dockerfile数据库服务