2.2 KiB
2.2 KiB
快速配置更新指南
场景:只修改了配置,不想重新推送镜像
1. 更新配置文件到服务器
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. 重启服务
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. 验证服务状态
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 支持直接上传配置,可以添加以下命令:
# 在 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"
;;
然后使用方式:
./deploy.sh upload-config --server 101.132.250.62
注意事项
- 不需要重新 build 镜像 - 配置修改不需要重新构建 Docker 镜像
- env_file 优先级 - docker-compose 中
env_file: .env.prod会覆盖environment中的变量 - 敏感信息 -
.env.prod包含敏感信息,请勿提交到 Git
快速验证
# 查看服务状态
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"