feat: add docs pages
This commit is contained in:
@@ -0,0 +1,240 @@
|
||||
# Docker Compose 部署
|
||||
|
||||
使用 Docker Compose 编排部署 Message Nest。
|
||||
|
||||
::: tip 推荐指数
|
||||
🍀🍀🍀🍀🍀 适合生产环境,便于管理
|
||||
:::
|
||||
|
||||
## 方式一:挂载配置文件
|
||||
|
||||
### 1. 准备配置文件
|
||||
|
||||
创建 `conf/app.ini`,内容参考 [Docker部署](/deployment/docker#_1-准备配置文件)。
|
||||
|
||||
### 2. 创建 docker-compose.yml
|
||||
|
||||
```yaml
|
||||
version: "3.7"
|
||||
services:
|
||||
|
||||
message-nest:
|
||||
image: engigu/message-nest:latest
|
||||
# 或使用 GHCR 镜像
|
||||
# image: ghcr.io/engigu/message-nest:latest
|
||||
container_name: message-nest
|
||||
restart: always
|
||||
volumes:
|
||||
- ./conf:/app/conf
|
||||
ports:
|
||||
- "8000:8000"
|
||||
```
|
||||
|
||||
### 3. 文件目录结构
|
||||
|
||||
```
|
||||
.
|
||||
├── conf
|
||||
│ └── app.ini
|
||||
└── docker-compose.yml
|
||||
```
|
||||
|
||||
### 4. 启动服务
|
||||
|
||||
```bash
|
||||
# 测试运行
|
||||
docker-compose up
|
||||
|
||||
# 正式运行(后台)
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 方式二:环境变量(推荐)
|
||||
|
||||
### 使用 MySQL
|
||||
|
||||
创建 `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
version: "3.7"
|
||||
services:
|
||||
|
||||
message-nest:
|
||||
image: engigu/message-nest:latest
|
||||
# 或使用 GHCR 镜像
|
||||
# image: ghcr.io/engigu/message-nest:latest
|
||||
container_name: message-nest
|
||||
restart: always
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- MYSQL_HOST=192.168.64.133
|
||||
- MYSQL_PORT=3308
|
||||
- MYSQL_USER=root
|
||||
- MYSQL_PASSWORD=Aa123456
|
||||
- MYSQL_DB=test_11
|
||||
- MYSQL_TABLE_PREFIX=message_
|
||||
```
|
||||
|
||||
### 使用 SQLite
|
||||
|
||||
创建 `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
version: "3.7"
|
||||
services:
|
||||
|
||||
message-nest:
|
||||
image: engigu/message-nest:latest
|
||||
# 或使用 GHCR 镜像
|
||||
# image: ghcr.io/engigu/message-nest:latest
|
||||
container_name: message-nest
|
||||
restart: always
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- ./data/database.db:/app/conf/database.db
|
||||
```
|
||||
|
||||
### 启动服务
|
||||
|
||||
```bash
|
||||
# 正式运行
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 完整示例:MySQL + Message Nest
|
||||
|
||||
如果你还没有MySQL,可以使用以下配置同时部署MySQL和Message Nest:
|
||||
|
||||
```yaml
|
||||
version: "3.7"
|
||||
services:
|
||||
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
container_name: message-nest-mysql
|
||||
restart: always
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=Aa123456
|
||||
- MYSQL_DATABASE=message_nest
|
||||
volumes:
|
||||
- mysql-data:/var/lib/mysql
|
||||
ports:
|
||||
- "3306:3306"
|
||||
|
||||
message-nest:
|
||||
image: engigu/message-nest:latest
|
||||
container_name: message-nest
|
||||
restart: always
|
||||
depends_on:
|
||||
- mysql
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- MYSQL_HOST=mysql
|
||||
- MYSQL_PORT=3306
|
||||
- MYSQL_USER=root
|
||||
- MYSQL_PASSWORD=Aa123456
|
||||
- MYSQL_DB=message_nest
|
||||
- MYSQL_TABLE_PREFIX=message_
|
||||
|
||||
volumes:
|
||||
mysql-data:
|
||||
```
|
||||
|
||||
## 常用命令
|
||||
|
||||
### 启动服务
|
||||
|
||||
```bash
|
||||
# 前台启动(查看日志)
|
||||
docker-compose up
|
||||
|
||||
# 后台启动
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### 查看日志
|
||||
|
||||
```bash
|
||||
# 查看所有服务日志
|
||||
docker-compose logs
|
||||
|
||||
# 查看特定服务日志
|
||||
docker-compose logs message-nest
|
||||
|
||||
# 实时查看日志
|
||||
docker-compose logs -f message-nest
|
||||
```
|
||||
|
||||
### 停止服务
|
||||
|
||||
```bash
|
||||
# 停止服务
|
||||
docker-compose stop
|
||||
|
||||
# 停止并删除容器
|
||||
docker-compose down
|
||||
|
||||
# 停止并删除容器和数据卷
|
||||
docker-compose down -v
|
||||
```
|
||||
|
||||
### 重启服务
|
||||
|
||||
```bash
|
||||
# 重启所有服务
|
||||
docker-compose restart
|
||||
|
||||
# 重启特定服务
|
||||
docker-compose restart message-nest
|
||||
```
|
||||
|
||||
### 更新镜像
|
||||
|
||||
```bash
|
||||
# 拉取最新镜像
|
||||
docker-compose pull
|
||||
|
||||
# 重新创建容器
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 访问服务
|
||||
|
||||
启动后访问 `http://localhost:8000`
|
||||
|
||||
- 默认账号:`admin`
|
||||
- 默认密码:`123456`
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 服务无法启动
|
||||
|
||||
1. 检查端口是否被占用
|
||||
2. 检查配置是否正确
|
||||
3. 查看日志:`docker-compose logs`
|
||||
|
||||
### MySQL连接失败
|
||||
|
||||
1. 确保MySQL服务已启动
|
||||
2. 检查 `MYSQL_HOST` 是否正确(使用服务名)
|
||||
3. 等待MySQL完全启动(约10-30秒)
|
||||
|
||||
### 数据持久化
|
||||
|
||||
使用volumes确保数据持久化:
|
||||
```yaml
|
||||
volumes:
|
||||
- ./data:/app/conf # 配置文件
|
||||
- mysql-data:/var/lib/mysql # MySQL数据
|
||||
```
|
||||
|
||||
### 修改配置后重启
|
||||
|
||||
```bash
|
||||
# 修改配置文件或环境变量后
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
```
|
||||
Reference in New Issue
Block a user