2.1 KiB
2.1 KiB
广寒拓扑 NAS 容器手动部署
此部署包只用于更新 NAS 上现有的 topology-api 容器,不修改公网服务器的 Nginx 路由。
部署前
- 备份 NAS 上当前拓扑项目目录和
.env。 - 确认当前容器对外端口仍为
38080,容器内端口为8080。 - 将本压缩包解压到一个新目录。
- 把现有生产
.env复制到解压后的目录。部署包不包含任何凭据。
构建新镜像
在解压目录执行:
docker build --no-cache -t topology-api:20260721-1145 .
本次数据库布局数据已经写入现有拓扑数据库,正常情况下不需要再次运行 seed 脚本。
替换容器
以下命令假定:
- 当前容器名称为
topology-api-2; - NAS 对外端口为
38080; - 生产
.env已复制到当前解压目录。
先停止并保留旧容器:
docker stop topology-api-2
docker rename topology-api-2 topology-api-2-backup-20260721
再启动新容器:
docker run -d \
--name topology-api-2 \
--restart unless-stopped \
--env-file .env \
-p 38080:8080 \
topology-api:20260721-1145
验证
curl -fsS http://127.0.0.1:38080/health
curl -fsS 'http://127.0.0.1:38080/api/v1/bases/guanghan/snapshot?mission=GHC-05'
curl -fsS 'http://127.0.0.1:38080/api/v1/bases/guanghan/snapshot?mission=GHC-06'
预期结果:
- GHC-05:
engineering_overview_v1,画布宽度1900。 - GHC-06:
engineering_overview_ghc06_v1,画布宽度2900。 - GHC-05 的吴刚三号位于居住舱二号北部。
- GHC-06 的吴刚二号位于实验舱东部。
公网验证地址:
http://118.89.192.134:59100/topology/guanghan_topology_demo.html?mission=GHC-06
回滚
如果健康检查或页面验证失败,停止并移除新容器,然后恢复旧容器:
docker stop topology-api-2
docker rm topology-api-2
docker rename topology-api-2-backup-20260721 topology-api-2
docker start topology-api-2
确认新版本稳定运行后,旧容器可以继续保留一段时间。不要在首次验证前删除旧容器或旧镜像。