优化Docker部署文档更新容器部分

This commit is contained in:
Yan233_
2025-03-11 02:15:46 +08:00
parent efcf00f6af
commit d9a28639ac

View File

@@ -1,14 +1,15 @@
# 🐳 Docker 部署指南 # 🐳 Docker 部署指南
## 部署步骤 (推荐,但不一定是最新) ## 部署步骤 (推荐,但不一定是最新)
"更新镜像与容器"部分在Part 6
**"更新镜像与容器"部分在本文档 [Part 6](#6-更新镜像与容器)**
### 0. 前提说明 ### 0. 前提说明
**本文假设读者已具备一定的 Docker 基础知识。若您对 Docker 不熟悉,建议先参考相关教程或文档进行学习,或选择使用 [📦Linux手动部署指南](./manual_deploy_linux.md) 或 [📦Windows手动部署指南](./manual_deploy_windows.md) 。** **本文假设读者已具备一定的 Docker 基础知识。若您对 Docker 不熟悉,建议先参考相关教程或文档进行学习,或选择使用 [📦Linux手动部署指南](./manual_deploy_linux.md) 或 [📦Windows手动部署指南](./manual_deploy_windows.md) 。**
### 1. 获取Docker配置文件: ### 1. 获取Docker配置文件
- 建议先单独创建好一个文件夹并进入,作为工作目录 - 建议先单独创建好一个文件夹并进入,作为工作目录
@@ -20,16 +21,18 @@ wget https://raw.githubusercontent.com/SengokuCola/MaiMBot/main/docker-compose.y
修改后请注意在之后配置 `.env.prod` 文件时指定MongoDB数据库的用户名密码 修改后请注意在之后配置 `.env.prod` 文件时指定MongoDB数据库的用户名密码
### 2. 启动服务: ### 2. 启动服务
- **!!! 请在第一次启动前确保当前工作目录下 `.env.prod``bot_config.toml` 文件存在 !!!**\ - **!!! 请在第一次启动前确保当前工作目录下 `.env.prod``bot_config.toml` 文件存在 !!!**\
由于Docker文件映射行为的特殊性若宿主机的映射路径不存在可能导致意外的目录创建而不会创建文件由于此处需要文件映射到文件需提前确保文件存在且路径正确可使用如下命令: 由于Docker文件映射行为的特殊性若宿主机的映射路径不存在可能导致意外的目录创建而不会创建文件由于此处需要文件映射到文件需提前确保文件存在且路径正确可使用如下命令:
```bash ```bash
touch .env.prod touch .env.prod
touch bot_config.toml touch bot_config.toml
``` ```
- 启动Docker容器: - 启动Docker容器:
```bash ```bash
NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose up -d NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose up -d
# 旧版Docker中可能找不到docker compose请使用docker-compose工具替代 # 旧版Docker中可能找不到docker compose请使用docker-compose工具替代
@@ -37,17 +40,19 @@ NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose up -d
``` ```
### 3. 修改配置并重启Docker: ### 3. 修改配置并重启Docker
- 请前往 [🎀新手配置指南](./installation_cute.md) 或 [⚙️标准配置指南](./installation_standard.md) 完成 `.env.prod``bot_config.toml` 配置文件的编写\ - 请前往 [🎀新手配置指南](./installation_cute.md) 或 [⚙️标准配置指南](./installation_standard.md) 完成 `.env.prod``bot_config.toml` 配置文件的编写\
**需要注意 `.env.prod` 中HOST处IP的填写Docker中部署和系统中直接安装的配置会有所不同** **需要注意 `.env.prod` 中HOST处IP的填写Docker中部署和系统中直接安装的配置会有所不同**
- 重启Docker容器: - 重启Docker容器:
```bash ```bash
docker restart maimbot # 若修改过容器名称则替换maimbot为你自定的名臣 docker restart maimbot # 若修改过容器名称则替换maimbot为你自定的名臣
``` ```
- 下方命令可以但不推荐只是同时重启NapCat、MongoDB、MaiMBot三个服务 - 下方命令可以但不推荐只是同时重启NapCat、MongoDB、MaiMBot三个服务
```bash ```bash
NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose restart NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose restart
# 旧版Docker中可能找不到docker compose请使用docker-compose工具替代 # 旧版Docker中可能找不到docker compose请使用docker-compose工具替代
@@ -58,6 +63,7 @@ NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose restart
### 4. 登入NapCat管理页添加反向WebSocket ### 4. 登入NapCat管理页添加反向WebSocket
- 在浏览器地址栏输入 `http://<宿主机IP>:6099/` 进入NapCat的管理Web页添加一个Websocket客户端 - 在浏览器地址栏输入 `http://<宿主机IP>:6099/` 进入NapCat的管理Web页添加一个Websocket客户端
> 网络配置 -> 新建 -> Websocket客户端 > 网络配置 -> 新建 -> Websocket客户端
- Websocket客户端的名称自定URL栏填入 `ws://maimbot:8080/onebot/v11/ws`,启用并保存即可\ - Websocket客户端的名称自定URL栏填入 `ws://maimbot:8080/onebot/v11/ws`,启用并保存即可\
@@ -69,14 +75,14 @@ NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose restart
### 6. 更新镜像与容器 ### 6. 更新镜像与容器
- 以更新MaiMBot为例其他两个容器可以但没必要 - 拉取最新镜像
- 先拉取最新镜像
```bash ```bash
docker pull sengokucola/maimbot:latest docker-compose pull
``` ```
- 拉取完最新镜像后回到 `docker-compose.yml` 所在工作目录执行以下命令,该指令会自动重建镜像有更新的容器并启动 - 执行启动容器指令,该指令会自动重建镜像有更新的容器并启动
```bash ```bash
NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose up -d NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose up -d
# 旧版Docker中可能找不到docker compose请使用docker-compose工具替代 # 旧版Docker中可能找不到docker compose请使用docker-compose工具替代
@@ -88,4 +94,4 @@ NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose up -d
- 目前部署方案仍在测试中,可能存在未知问题 - 目前部署方案仍在测试中,可能存在未知问题
- 配置文件中的API密钥请妥善保管不要泄露 - 配置文件中的API密钥请妥善保管不要泄露
- 建议先在测试环境中运行,确认无误后再部署到生产环境 - 建议先在测试环境中运行,确认无误后再部署到生产环境