컨테이너를 시작하지 않고 Docker 시작

컨테이너를 시작하지 않고 Docker 시작

로컬 Docker 이미지가 변경되지 않았는지 확인하기 위해 모든 시스템에서 실행되는 범용 시스템 초기화 도구를 구축하려고 합니다. 이 도구는 어떤 컨테이너를 실행해야 하는지 알지 못하며, 시스템이 시작(또는 재부팅)될 때마다 실행되어 시스템에 있는 Docker 이미지의 ID와 무결성을 확인합니다. 내 질문은 Docker를 시작하고 다시 시작 정책이 설정된 컨테이너를 시작하지 않도록 지시하는 것이 가능합니까? 기본적으로 컨테이너를 시작하지 않고도 Docker를 시작할 수 있나요?

두 번째 질문은 첫 번째 질문에 도움이 될 수 있습니다. 데몬이 시작될 때 다시 시작해야 하는 컨테이너를 결정하기 위해 데몬이 사용하는 구성 파일은 어디에 있습니까?

답변1

다시 시작 정책을 저장하는 컨테이너 구성 파일은 /var/lib/docker/containers/HASH/hostconfig에 있습니다.

"RestartPolicy":{"Name":"always","MaximumRetryCount":0}

1- 도커를 중지하려는 경우:

sudo systemctl stop docker 

2-변경 언제나도착하다전혀/var/lib/docker/containers/HASH/hostconfig에서.

3-Docker 서비스를 시작합니다.

sudo systemctl start docker 

컨테이너 자동 시작이 비활성화됩니다.

하지만 간단한 구문을 사용하면 어떨까요?

sudo update --restart=none <container_id>

다른 방법이름을 바꿀 수 있습니다/var/lib/docker/컨테이너:

1- 도커 중지

2- 컨테이너 폴더를 다시 /var/lib/docker/containers/로 변경합니다.

3- 도커 시작

답변2

Docker 가 구성 정보(다시 시작 정책 포함) hostconfig.json/var/lib/docker/containers/. 그러면 제가 확인할 수 있습니다. 일을 다시 시작하기 위해 저는 그 반대로 했습니다./var/lib/docker/containers/301849...5917f/hostconfig.json/var/lib/docker/containers/

  1. 도커 중지
  2. 컨테이너 폴더를 다시 다음으로 변경하십시오./var/lib/docker/containers/
  3. 도커 다시 시작

다시 시작 정책으로 구성된 모든 컨테이너가 다시 시작되었으며 모든 것이 정상입니다.

관련 정보