kamal rollback
你可以使用 kamal rollback
回滚部署。
如果你发现某个部署很糟糕,你可以快速回滚到以前的镜像。你可以通过运行 kamal app containers -q
来查看有哪些旧容器可供回滚。它会给你一个类似 kamal app details
的展示,但还包括所有旧容器。
App Host: 192.168.0.1
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1d3c91ed1f51 registry.digitalocean.com/user/app:6ef8a6a84c525b123c5245345a8483f86d05a123 "/rails/bin/docker-e..." 19 minutes ago Up 19 minutes 3000/tcp chat-6ef8a6a84c525b123c5245345a8483f86d05a123
539f26b28369 registry.digitalocean.com/user/app:e5d9d7c2b898289dfbc5f7f1334140d984eedae4 "/rails/bin/docker-e..." 31 minutes ago Exited (1) 27 minutes ago chat-e5d9d7c2b898289dfbc5f7f1334140d984eedae4
App Host: 192.168.0.2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
badb1aa51db4 registry.digitalocean.com/user/app:6ef8a6a84c525b123c5245345a8483f86d05a123 "/rails/bin/docker-e..." 19 minutes ago Up 19 minutes 3000/tcp chat-6ef8a6a84c525b123c5245345a8483f86d05a123
6f170d1172ae registry.digitalocean.com/user/app:e5d9d7c2b898289dfbc5f7f1334140d984eedae4 "/rails/bin/docker-e..." 31 minutes ago Exited (1) 27 minutes ago chat-e5d9d7c2b898289dfbc5f7f1334140d984eedae4
从上面的例子中,我们可以看到 e5d9d7c2b898289dfbc5f7f1334140d984eedae4
是最新版本,因此它可作为回滚目标。我们可以通过运行 kamal rollback e5d9d7c2b898289dfbc5f7f1334140d984eedae4
来执行此回滚。
这将停止 6ef8a6a84c525b123c5245345a8483f86d05a123
,然后启动一个新容器,运行与 e5d9d7c2b898289dfbc5f7f1334140d984eedae4
相同镜像。无需从注册表中下载任何内容。
注意:默认情况下,当你运行 kamal deploy
时,旧容器会在 3 天后被修剪。