我有一个 Linux (Debian 10) 服务器,它在 Linode 上运行许多 Docker 容器。
我已将 Docker 容器配置为在停止之前重新启动,因此如果必须重新启动服务器,所有容器都会成功启动。
我想进行灾难恢复 (DR) 测试,其中包括进行前一天晚上的备份并将其恢复到新的 Linode 实例。
不幸的是,如果它自动启动,它将连接到我的 Postgres 备份 (pgbackrest),可能会产生不好的结果(两个主集群写入备份)。
如果机器发生更改,我希望 DR 服务器不要启动 docker (systemd)(我假设我可以从 MAC 地址检测到这一点,但其他建议很有帮助)。
如果底层机器发生变化,我应该如何配置 systemd (docker.service) 使其不启动?
答案1
事实证明,解决方案非常简单。
我将 docker.service 从 /lib/systemd/system 复制到 /etc/systemd/system
我在 [Unit] 部分添加了一个条件 ConditionHost=machine-id
其中 machine-id 是从 /etc/machine-id 检索的