mirror of
https://github.com/blossom-editor/blossom
synced 2024-11-17 14:39:21 +08:00
docs: Update the docker deployment document
This commit is contained in:
parent
f19b9b8eea
commit
f1e5dc5577
Binary file not shown.
Before Width: | Height: | Size: 68 KiB |
Binary file not shown.
Before Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 118 KiB |
Binary file not shown.
Before Width: | Height: | Size: 78 KiB |
Binary file not shown.
Before Width: | Height: | Size: 21 KiB |
Binary file not shown.
Before Width: | Height: | Size: 106 KiB |
183
docker/README.md
183
docker/README.md
@ -7,7 +7,6 @@ docker
|
|||||||
├─ build 镜像构建
|
├─ build 镜像构建
|
||||||
| └─ Dockerfile 应用镜像构建脚本
|
| └─ Dockerfile 应用镜像构建脚本
|
||||||
└─ compose docker compose 配置
|
└─ compose docker compose 配置
|
||||||
├─ blossom.yaml 包含后台应用 Blossom-backend
|
|
||||||
└─ blossom-mysql8.yaml 包含后台应用 Blossom-backend 与 MySql8
|
└─ blossom-mysql8.yaml 包含后台应用 Blossom-backend 与 MySql8
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -68,12 +67,6 @@ docker run -d \
|
|||||||
-v /home/bl/:/home/bl/ \
|
-v /home/bl/:/home/bl/ \
|
||||||
# 启动的镜像名称
|
# 启动的镜像名称
|
||||||
jasminexzzz/blossom:latest \
|
jasminexzzz/blossom:latest \
|
||||||
# 使用的后台配置文件,不需要修改
|
|
||||||
--spring.profiles.active=prod \
|
|
||||||
# 配置图片上传后对应生成的访问URL,需要以/pic/结尾。注意,该访问URL需要与访问后台的域名和端口相同
|
|
||||||
--project.iaas.blos.domain="http://127.0.0.1:9999/pic/" \
|
|
||||||
# 配置图片保存的磁盘路径,请使用 -v 将该路径挂载为本地路径,如上方示例
|
|
||||||
--project.iaas.blos.default-path="/home/bl/img/" \
|
|
||||||
# 配置数据库访问地址
|
# 配置数据库访问地址
|
||||||
--spring.datasource.url="jdbc:mysql://192.168.31.99:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8" \
|
--spring.datasource.url="jdbc:mysql://192.168.31.99:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8" \
|
||||||
# 配置数据库用户名
|
# 配置数据库用户名
|
||||||
@ -92,55 +85,7 @@ docker run -d --name blossom-backend -p 9999:9999 -v /home/bl/:/home/bl/ jasmine
|
|||||||
|
|
||||||
可以使用 docker compose 单独拉取应用镜像,或者连同 MySQL 一起拉取构建。下列示例均可在项目`/docker/compose`目录下查看
|
可以使用 docker compose 单独拉取应用镜像,或者连同 MySQL 一起拉取构建。下列示例均可在项目`/docker/compose`目录下查看
|
||||||
|
|
||||||
## 1. 只拉取应用镜像示例
|
## 1. 拉取应用镜像与 MySQL 镜像示例
|
||||||
|
|
||||||
该 docker compose 不包含 MySQL,需要你自行安装 MySQL,并在 MySQL 中先创建一个数据库,数据库名称需要与启动容器命令中参数SPRING_DATASOURCE_URL配置的数据库名称相同,如果不需要自定义数据库名称,你可以直接使用如下语句创建数据库:
|
|
||||||
|
|
||||||
```sql
|
|
||||||
CREATE DATABASE `blossom` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
|
|
||||||
```
|
|
||||||
|
|
||||||
docker compose 文件示例
|
|
||||||
|
|
||||||
|
|
||||||
```yml
|
|
||||||
version: "3.8"
|
|
||||||
services:
|
|
||||||
blossom:
|
|
||||||
image: jasminexzzz/blossom:latest
|
|
||||||
container_name: blossom-backend
|
|
||||||
volumes:
|
|
||||||
# 【需修改】挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/来指定磁盘
|
|
||||||
- /d/blossom/bl/:/home/bl/
|
|
||||||
environment:
|
|
||||||
SPRING_PROFILES_ACTIVE: prod
|
|
||||||
# 【需修改】配置数据库访问地址
|
|
||||||
SPRING_DATASOURCE_URL: jdbc:mysql://192.168.31.99:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8
|
|
||||||
# 【需修改】配置数据库用户名
|
|
||||||
SPRING_DATASOURCE_USERNAME: root
|
|
||||||
# 【需修改】配置数据库密码
|
|
||||||
SPRING_DATASOURCE_PASSWORD: jasmine888
|
|
||||||
# 【需修改】配置图片上传后对应生成的访问 URL,需要以/pic/结尾。注意,该访问 URL 需要与访问后台的域名和端口相同
|
|
||||||
PROJECT_IAAS_BLOS_DOMAIN: http://localhost:9999/pic/
|
|
||||||
# 配置图片保存的磁盘路径,并在 volumes 中将该路径挂载为本地路径,如上方 volumes 中的示例
|
|
||||||
PROJECT_IAAS_BLOS_DEFAULT-PATH: /home/bl/img/
|
|
||||||
ports:
|
|
||||||
- "9999:9999"
|
|
||||||
restart: always
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
启动不含有 MYSQL 的 Docker Compose
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose -f docker/compose/blossom.yaml up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
> 该方式与使用公共镜像基本相同
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. 拉取应用镜像与 MySQL 镜像示例
|
|
||||||
|
|
||||||
该 docker compose 包含 MySQL,MySQL 容器在初始化时会自动创建数据库 Blossom,但你需要挂载 MySQL 文件到宿主机,防止数据丢失。
|
该 docker compose 包含 MySQL,MySQL 容器在初始化时会自动创建数据库 Blossom,但你需要挂载 MySQL 文件到宿主机,防止数据丢失。
|
||||||
|
|
||||||
@ -160,17 +105,12 @@ services:
|
|||||||
# 【需修改】挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/img/来指定磁盘
|
# 【需修改】挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/img/来指定磁盘
|
||||||
- /d/blossom/bl/:/home/bl/
|
- /d/blossom/bl/:/home/bl/
|
||||||
environment:
|
environment:
|
||||||
SPRING_PROFILES_ACTIVE: prod
|
|
||||||
# 配置数据库访问地址
|
# 配置数据库访问地址
|
||||||
SPRING_DATASOURCE_URL: jdbc:mysql://blmysql:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8
|
SPRING_DATASOURCE_URL: jdbc:mysql://blmysql:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8
|
||||||
# 【需修改】配置数据库用户名
|
# 【需修改】配置数据库用户名
|
||||||
SPRING_DATASOURCE_USERNAME: root
|
SPRING_DATASOURCE_USERNAME: root
|
||||||
# 【需修改】配置数据库密码
|
# 【需修改】配置数据库密码
|
||||||
SPRING_DATASOURCE_PASSWORD: jasmine888
|
SPRING_DATASOURCE_PASSWORD: jasmine888
|
||||||
# 【需修改】配置图片上传后对应生成的访问 URL,需要以/pic/结尾。注意,该访问域名(IP:端口)需要与访问后台的域名(IP:端口)相同
|
|
||||||
PROJECT_IAAS_BLOS_DOMAIN: http://localhost:9999/pic/
|
|
||||||
# 配置图片保存的磁盘路径,并在 volumes 中将该路径挂载为本地路径,如上方 volumes 中的示例
|
|
||||||
PROJECT_IAAS_BLOS_DEFAULT-PATH: /home/bl/img/
|
|
||||||
ports:
|
ports:
|
||||||
- "9999:9999"
|
- "9999:9999"
|
||||||
networks:
|
networks:
|
||||||
@ -218,127 +158,6 @@ services:
|
|||||||
docker compose -f docker/compose/blossom-mysql8.yaml up -d
|
docker compose -f docker/compose/blossom-mysql8.yaml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
# 三、使用 Dockerfile 构建应用镜像
|
|
||||||
|
|
||||||
> 该方式构建镜像只包含后台应用,不包含数据库在内
|
|
||||||
|
|
||||||
## 1. 后台工程打包
|
|
||||||
|
|
||||||
需要安装如下工具
|
|
||||||
|
|
||||||
- Docker 运行环境
|
|
||||||
- git 运行环境
|
|
||||||
- Maven 3.6.1+
|
|
||||||
|
|
||||||
克隆代码仓库,然后进入到`blossom-backend/`目录下,运行如下命令编译打包后台工程
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/blossom-editor/blossom.git
|
|
||||||
maven clean package
|
|
||||||
```
|
|
||||||
|
|
||||||
打包成功如下图:
|
|
||||||
|
|
||||||
![backend_package](../doc/imgs/deploy/backend_package.png)
|
|
||||||
|
|
||||||
进入到`blossom-backend\backend\target`路径下检查是否包含`backend-blossom.jar`文件,如果包含则打包成功。
|
|
||||||
|
|
||||||
## 2. 构建本地镜像
|
|
||||||
|
|
||||||
进入到项目根目录下,运行如下命令
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker build -t <自定义前缀>/<自定义镜像名称>:<自定义镜像标签> -f docker/build/Dockerfile .
|
|
||||||
|
|
||||||
# 示例1
|
|
||||||
docker build -t self/blossom:self -f docker/build/Dockerfile .
|
|
||||||
```
|
|
||||||
|
|
||||||
> [!WARNING]
|
|
||||||
> 注意:一定要在项目根目录下运行`docker build`命令,否则无法找到后台 jar 包文件
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> 在后台项目`blossom-backend\`路径下也包含一个 Dockerfile 文件,只有构建命令略有不同,具体参阅`blossom-backend\README.md`文件
|
|
||||||
|
|
||||||
## 3. 创建数据库
|
|
||||||
|
|
||||||
你需要在 MySQL 中先创建一个数据库,数据库名称需要与启动容器命令中参数--spring.datasource.url配置的数据库名称相同,如果不需要自定义数据库名称,你可以直接使用如下语句创建数据库:
|
|
||||||
|
|
||||||
```sql
|
|
||||||
CREATE DATABASE `blossom` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
|
|
||||||
```
|
|
||||||
|
|
||||||
## 4. 启动容器
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker run -d \
|
|
||||||
# 容器名称
|
|
||||||
--name blossom-backend \
|
|
||||||
# 指定端口映射
|
|
||||||
-p 9999:9999 \
|
|
||||||
# 挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/来指定磁盘
|
|
||||||
-v /home/bl/:/home/bl/ \
|
|
||||||
# 启动的镜像名称
|
|
||||||
jasminexzzz/blossom:latest \
|
|
||||||
# 使用的后台配置文件,不需要修改
|
|
||||||
--spring.profiles.active=prod \
|
|
||||||
# 配置图片上传后对应生成的访问URL,需要以/pic/结尾。注意,该访问URL需要与访问后台的域名和端口相同
|
|
||||||
--project.iaas.blos.domain="http://127.0.0.1:9999/pic/" \
|
|
||||||
# 配置图片保存的磁盘路径,请使用 -v 将该路径挂载为本地路径,如上方示例
|
|
||||||
--project.iaas.blos.default-path="/home/bl/img/" \
|
|
||||||
# 配置数据库访问地址
|
|
||||||
--spring.datasource.url="jdbc:mysql://192.168.31.99:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8" \
|
|
||||||
# 配置数据库用户名
|
|
||||||
--spring.datasource.username=root \
|
|
||||||
# 配置数据库密码
|
|
||||||
--spring.datasource.password=jasmine888
|
|
||||||
```
|
|
||||||
|
|
||||||
# 四、使用 Idea Cloud Toolkit 插件部署
|
|
||||||
|
|
||||||
> 该部署方式适合修改代码后部署在物理机器中。
|
|
||||||
|
|
||||||
在 Idea 中安装插件
|
|
||||||
|
|
||||||
![idea_plugin1](../doc/imgs/deploy/idea_plugin1.png)
|
|
||||||
|
|
||||||
配置目标机器地址
|
|
||||||
|
|
||||||
![idea_plugin1](../doc/imgs/deploy/idea_plugin2.png)
|
|
||||||
|
|
||||||
![idea_plugin1](../doc/imgs/deploy/idea_plugin3.png)
|
|
||||||
|
|
||||||
新增启动项
|
|
||||||
|
|
||||||
![idea_plugin1](../doc/imgs/deploy/idea_plugin4.png)
|
|
||||||
|
|
||||||
配置启动项
|
|
||||||
|
|
||||||
![idea_plugin1](../doc/imgs/deploy/idea_plugin5.png)
|
|
||||||
|
|
||||||
1. 需要上传的`jar`包地址
|
|
||||||
2. 目标机器的IP,点击右侧+号添加
|
|
||||||
3. 上传到目标机器的路径
|
|
||||||
4. 上传后执行的命令,例如执行下方的重启脚本
|
|
||||||
5. 上传前执行的命令
|
|
||||||
|
|
||||||
重启脚本示例`restart-sprigboot.sh`
|
|
||||||
```bash
|
|
||||||
#!/dash
|
|
||||||
# 重启 blossom
|
|
||||||
pid=`ps aux | grep backend-blossom.jar | grep -v grep | awk '{print $2}'`
|
|
||||||
echo "进程ID : " $pid
|
|
||||||
kill -9 $pid
|
|
||||||
echo "进程" $pid "已被杀死"
|
|
||||||
echo "开始重启 backend-blossom 服务器"
|
|
||||||
# 注意修改对应路径
|
|
||||||
nohup java -Xms1024m -Xmx1024m -jar /usr/local/jasmine/blossom/backend/backend-blossom.jar &
|
|
||||||
echo "backend-blossom 正在启动,请查看日志 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓"
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
version: "3.8"
|
|
||||||
services:
|
|
||||||
blossom:
|
|
||||||
image: jasminexzzz/blossom:latest
|
|
||||||
container_name: blossom-backend
|
|
||||||
volumes:
|
|
||||||
# 【需修改】挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/img/来指定磁盘
|
|
||||||
- /d/blossom/bl/:/home/bl/
|
|
||||||
environment:
|
|
||||||
SPRING_PROFILES_ACTIVE: prod
|
|
||||||
# 【需修改】配置数据库访问地址
|
|
||||||
SPRING_DATASOURCE_URL: jdbc:mysql://192.168.31.99:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8
|
|
||||||
# 【需修改】配置数据库用户名
|
|
||||||
SPRING_DATASOURCE_USERNAME: root
|
|
||||||
# 【需修改】配置数据库密码
|
|
||||||
SPRING_DATASOURCE_PASSWORD: jasmine888
|
|
||||||
# 【需修改】配置图片上传后对应生成的访问 URL,需要以/pic/结尾。注意,该访问 URL 需要与访问后台的域名和端口相同
|
|
||||||
PROJECT_IAAS_BLOS_DOMAIN: http://localhost:9999/pic/
|
|
||||||
# 配置图片保存的磁盘路径,并在 volumes 中将该路径挂载为本地路径,如上方 volumes 中的示例
|
|
||||||
PROJECT_IAAS_BLOS_DEFAULT-PATH: /home/bl/img/
|
|
||||||
ports:
|
|
||||||
- "9999:9999"
|
|
||||||
restart: always
|
|
Loading…
Reference in New Issue
Block a user