Files
weiyu/deploy/docker/readme.zh.md
jack ning 1b8e4cdff5 update
2025-10-12 09:33:39 +08:00

177 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--
* @Author: jackning 270580156@qq.com
* @Date: 2024-03-12 10:21:18
* @LastEditors: jackning 270580156@qq.com
* @LastEditTime: 2025-09-19 10:27:57
* @Description: bytedesk.com https://github.com/Bytedesk/bytedesk
* Please be aware of the BSL license restrictions before installing Bytedesk IM
* selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license.
* Business Source License 1.1: https://github.com/Bytedesk/bytedesk/blob/main/LICENSE
* contact: 270580156@qq.com
* 联系270580156@qq.com
* Copyright (c) 2024 by bytedesk.com, All Rights Reserved.
-->
# docker
## 文件说明
```bash
.
├── docker-compose-noai.yaml # 不使用ai无机器人问答
├── docker-compose-ollama.yaml # 启动微语内含ollama默认使用ollama对话
├── docker-compose.yaml # 启动微语不内含ollama默认使用zhipuai
```
## 微语启动步骤
```bash
# https://www.weiyuai.cn/docs/zh-CN/docs/deploy/docker
# 克隆项目
git clone https://github.com/Bytedesk/bytedesk.git
# 进入docker目录
cd bytedesk/deploy/docker
# 配置环境变量,根据需要修改
cp .env.example .env
# 启动docker compose容器, -f标志来指定文件路径, -d标志表示在后台模式下启动容器
# 同时启动mysql,redis,elasticsearch依赖和微语
docker compose -p bytedesk -f docker-compose.yaml up -d
# 同时启动mysql,redis,ollama,elasticsearch依赖和微语内含ollama
docker compose -p bytedesk -f docker-compose-ollama.yaml up -d
# 启动不使用ai无机器人问答
docker compose -p bytedesk -f docker-compose-noai.yaml up -d
# 拉取ollama模型
# 对话模型
docker exec ollama-bytedesk ollama pull qwen3:0.6b
# 嵌入模型
docker exec ollama-bytedesk ollama pull bge-m3:latest
# 重新排序Rerank模型
docker exec ollama-bytedesk ollama pull linux6200/bge-reranker-v2-m3:latest
# 停止
docker compose -p bytedesk -f docker-compose.yaml down
# 停止内含ollama
docker compose -p bytedesk -f docker-compose-ollama.yaml down
#
docker compose -p bytedesk -f docker-compose-noai.yaml down
```
## 停止和重启服务
```bash
# 停止所有服务(保留数据)
docker compose -p bytedesk -f docker-compose-ollama.yaml down
# 停止所有服务并删除数据卷(谨慎操作,会删除所有数据)
docker compose -p bytedesk -f docker-compose-ollama.yaml down -v
# 重启特定服务
docker compose -p bytedesk -f docker-compose-ollama.yaml restart bytedesk
# 重启所有服务
docker compose -p bytedesk -f docker-compose-ollama.yaml restart
```
## 升级bytedesk镜像
```bash
# 1. 停止当前服务
docker compose -p bytedesk -f docker-compose-ollama.yaml down
# 或
docker stop bytedesk redis-bytedesk elasticsearch-bytedesk ollama-bytedesk mysql-bytedesk artemis-bytedesk
# 2. 拉取最新镜像
docker pull registry.cn-hangzhou.aliyuncs.com/bytedesk/bytedesk:latest
# 3. 重新启动服务(会自动使用最新镜像)
docker compose -p bytedesk -f docker-compose-ollama.yaml up -d
# 或者使用以下命令强制重新构建并启动
docker compose -p bytedesk -f docker-compose-ollama.yaml up -d --force-recreate bytedesk
```
## 删除MySQL数据挂载
如果需要删除MySQL数据挂载并重新初始化数据库请按以下步骤操作
```bash
# 1. 停止所有服务
docker compose -p bytedesk -f docker-compose-ollama.yaml down
# 1. 强制删除MySQL容器即使它已经退出
docker rm -f mysql-bytedesk
# 2. 现在可以删除数据卷了
docker volume rm bytedesk_mysql_data
# 3. 重新启动服务(会自动创建新的数据卷和数据库)
docker compose -p bytedesk -f docker-compose-ollama.yaml up -d
# 注意:删除数据卷后,所有数据都会丢失,需要重新初始化管理员账户
```
## 数据卷管理
```bash
# 查看所有数据卷
docker volume ls | grep bytedesk
# 查看数据卷详细信息
docker volume inspect bytedesk_mysql_data
docker volume inspect bytedesk_redis_data
docker volume inspect bytedesk_elasticsearch_data
docker volume inspect bytedesk_upload_data
docker volume inspect bytedesk_ollama_models
docker volume inspect bytedesk_artemis_data
# 备份数据卷(可选)
docker run --rm -v bytedesk_mysql_data:/data -v $(pwd):/backup alpine tar czf /backup/mysql_backup.tar.gz -C /data .
# 恢复数据卷(可选)
docker run --rm -v bytedesk_mysql_data:/data -v $(pwd):/backup alpine tar xzf /backup/mysql_backup.tar.gz -C /data
```
## 故障排除
如果遇到数据库连接问题或服务启动失败,可以尝试以下步骤:
```bash
# 查看容器状态
docker ps -a
# 查看服务日志
docker logs mysql-bytedesk
docker logs bytedesk
# 如果服务启动失败,可以尝试重启
docker compose -p bytedesk -f docker-compose.yaml down
docker compose -p bytedesk -f docker-compose.yaml up -d
# 检查网络连接
docker network inspect bytedesk-network
# 清理未使用的资源
docker system prune -f
```
## 常用命令
```bash
# 查看服务状态
docker compose -p bytedesk -f docker-compose-ollama.yaml ps
# 查看服务日志
docker compose -p bytedesk -f docker-compose-ollama.yaml logs
# 查看特定服务日志
docker compose -p bytedesk -f docker-compose-ollama.yaml logs bytedesk
# 进入容器内部
docker exec -it bytedesk /bin/bash
docker exec -it mysql-bytedesk mysql -u root -p
# 查看容器资源使用情况
docker stats
# 查看容器镜像架构
docker inspect registry.cn-hangzhou.aliyuncs.com/bytedesk/bytedesk:latest --format='{{.Architecture}}'
```