CapRover

CaptainDuckDuck 升级迁移

注意:只有当你想把 CaptainDuckDuck 服务器升级到 CapRover 时,才需要阅读本节。

迁移脚本

只需要运行 这个脚本,即可将 CaptainDuckDuck 服务器升级到 CapRover。脚本会自动备份你的配置目录 /captain,以便在出现问题时回滚。

要迁移,只需运行以下命令:

wget https://raw.githubusercontent.com/caprover/caprover/master/dev-scripts/migrate-from-cdd.sh

chmod +x migrate-from-cdd.sh

./migrate-from-cdd.sh

迁移提示:

请确保磁盘空间足够。CapRover 镜像大约 400MB,并且脚本会自动备份配置目录。

未启用自建 Registry

服务器大约有 1.5GB 可用空间通常就足够了。

启用了自建 Registry

自建 Registry 可能会占用很多 GB 的磁盘空间。由于迁移脚本会自动备份配置目录,你在升级过程中可能会遇到磁盘空间不足的问题。

为了节省空间,如果你启用了自建 Registry,有两个选择:

  • 你可以手动编辑迁移脚本,移除备份那一行(tar -cvf /captain-bk-$(date +%Y_%m_%d_%H_%M_%S).tar /captain)。
  • 或者,你可以运行 rm -rf /captain/registry/* 删除 Registry 的全部内容(它会占用大量磁盘空间)。注意:执行该操作后,你需要重新部署应用,其他节点才能访问镜像;如果你只有一个节点,则无需额外操作。

从 CaptainDuckDuck 升级到 CapRover 的破坏性变更:

  • captain-definition 文件的 schemaVersion 已改为 2
  • 如果你之前需要把某个应用的自定义端口改成非 80 端口,现在不再需要修改 NGINX 配置,你只需在 UI 里把容器端口设置为任意端口即可。
  • 如果你之前使用自定义 dockerfileLines,并且把所有 ADD / COPY 语句都加上了 ./src 前缀,在 CapRover 里不再需要这样做。例如,你以前可能写过:
COPY ./src/package.json /usr/app/

在 CapRover 中你应该改为:

COPY ./package.json /usr/app/