Linodeで多くのDockerコンテナを実行しているLinux(Debian 10)サーバーがあります。
停止する前に再起動するようにDockerコンテナを設定したため、サーバーを再起動する必要がある場合は、すべてのコンテナが正常に起動します。
前日の夜のバックアップを取得し、新しいLinodeインスタンスに復元する災害復旧(DR)テストを実行したいと思います。
残念ながら、自動的に起動すると、私の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 で検索されます。