topfans/docker/快速配置更新指南.md
2026-04-08 20:48:38 +08:00

74 lines
2.2 KiB
Markdown
Raw Permalink 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.

# 快速配置更新指南
## 场景:只修改了配置,不想重新推送镜像
### 1. 更新配置文件到服务器
```bash
cd /Users/liulujian/Documents/code/TopFansByGithub/docker
# 上传 .env.prod
sshpass -p '>n73qBnCja-,#VF+Wq' scp -P 22 .env.prod root@101.132.250.62:/opt/topfans/docker/
# 上传 docker-compose.prod.yml如果也修改了
sshpass -p '>n73qBnCja-,#VF+Wq' scp -P 22 docker-compose.prod.yml root@101.132.250.62:/opt/topfans/docker/
```
### 2. 重启服务
```bash
sshpass -p '>n73qBnCja-,#VF+Wq' ssh -o StrictHostKeyChecking=no -p 22 root@101.132.250.62 '
cd /opt/topfans/docker
docker-compose -f docker-compose.prod.yml down
docker-compose -f docker-compose.prod.yml up -d
'
```
### 3. 验证服务状态
```bash
sshpass -p '>n73qBnCja-,#VF+Wq' ssh -o StrictHostKeyChecking=no -p 22 root@101.132.250.62 "curl -s http://localhost:8080/health"
```
---
## 添加 upload-config 命令到 deploy.sh
如果你想让 deploy.sh 支持直接上传配置,可以添加以下命令:
```bash
# 在 deploy.sh 的 main 函数中添加:
upload-config)
print_step "📤 上传配置文件到服务器"
scp_cmd "${SCRIPT_DIR}/docker-compose.prod.yml" "${SERVER_USER}@${SERVER_HOST}:${SERVER_PATH}/"
scp_cmd "${SCRIPT_DIR}/.env.prod" "${SERVER_USER}@${SERVER_HOST}:${SERVER_PATH}/"
print_msg "$GREEN" "✅ 配置文件上传完成"
print_msg "$YELLOW" "请手动重启服务: docker-compose -f docker-compose.prod.yml down && up -d"
;;
```
然后使用方式:
```bash
./deploy.sh upload-config --server 101.132.250.62
```
---
## 注意事项
1. **不需要重新 build 镜像** - 配置修改不需要重新构建 Docker 镜像
2. **env_file 优先级** - docker-compose 中 `env_file: .env.prod` 会覆盖 `environment` 中的变量
3. **敏感信息** - `.env.prod` 包含敏感信息,请勿提交到 Git
---
## 快速验证
```bash
# 查看服务状态
sshpass -p '>n73qBnCja-,#VF+Wq' ssh -o StrictHostKeyChecking=no -p 22 root@101.132.250.62 "docker ps --format 'table {{.Names}}\t{{.Status}}'"
# 查看环境变量是否生效
sshpass -p '>n73qBnCja-,#VF+Wq' ssh -o StrictHostKeyChecking=no -p 22 root@101.132.250.62 "docker exec topfans-gateway env | grep OSS"
```