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에서 검색됩니다.