说明如何迁移您的 docker-compose 环境。根据您的 docker-compose.yml 文件,主要需要迁移以下内容:
环境中有几个重要的数据卷需要迁移:
- MongoDB 数据: ./data/mongo/
- Redis 数据: ./data/redis/
- MinIO(S3) 数据: ./data/s3/
- 密码文件迁移
需要迁移的密码文件:
mongodb_password.txt
redis_password.txt
s3_password.txt
editor_sync_password.txt
迁移步骤如下:
1. 停止原服务器上的容器
docker-compose down
2.备份数据
# 创建备份目录
mkdir backup
# 打包数据目录
tar -czf backup/data.tar.gz data/
# 复制密码文件
cp *.txt backup/
# 复制 docker-compose.yml
cp docker-compose.yml backup/
3.保存所有需要的镜像
# 保存所有需要的镜像
docker save -o backup/images.tar \
mongo:latest \
redis:latest \
secreport/editor-sync:latest \
secreport/sec-report:latest
4.传输备份文件到新服务器
scp -r backup/ user@new-server:/path/to/destination/
5.在新服务器上还原
# 解压数据
tar -xzf backup/data.tar.gz
# 还原密码文件
cp backup/*.txt ./
# 还原 docker-compose.yml
cp backup/docker-compose.yml ./
6.在新服务器上加载镜像
# 加载镜像
docker load -i backup/images.tar
7.在新服务器上启动服务
# 拉取需要的镜像
docker-compose pull
# 启动服务
docker-compose up -d
注意事项:
- 确保新服务器已安装 Docker 和 Docker Compose
- 确保新服务器有足够的存储空间
- 迁移过程中注意数据的安全性,特别是密码文件
- 如果数据量较大,建议使用更可靠的文件传输方式
- 迁移完成后,建议验证所有服务是否正常运行
- 如果您只想迁移数据而不想停止原服务,也可以在服务运行时使用 docker 的数据卷备份命令,但这样可能会有数据一致性风险,建议在维护时段进行迁移