[docker] docker 데몬 (5)

업데이트:     Updated:

카테고리:

태그:

restart policies

Docker는 컨테이너가 종료될 때 자동으로 다시 시작할지 여부를 제어하는 restart policies를 제공합니다.

컨테이너에 대한 재시작 정책을 구성하려면 docker run 명령을 할 때 --restart 플래그를 사용합니다. 플래그 값은 다음 중 하나일 수 있습니다.

Flag Description
no 컨테이너를 자동으로 다시 시작하지 않습니다. (기본값)
on-failure[:max-retries] 0이 아닌 종료 코드로 인해 컨테이너가 종료되면 컨테이너를 다시 시작합니다. 필요에 따라 Docker 데몬이 :max-retries 옵션을 사용하여 컨테이너를 다시 시작하려고 시도하는 횟수를 제한합니다.
always 컨테이너가 중지되면 항상 다시 시작합니다. 수동으로 중지한 경우 Docker 데몬을 다시 시작하거나 컨테이너 자체를 수동으로 다시 시작할 때만 다시 시작됩니다.
unless-stopped always와 유사하지만 컨테이너가 중지되면 (수동 또는 기타) Docker 데몬이 다시 시작된 후에도 다시 시작되지 않습니다.

Note:

  • restart policy는 컨테이너가 성공적으로 시작된 후에만 적용됩니다. 성공적으로 시작된다는 것은 컨테이너가 최소 10초 동안 가동되고 Docker가 모니터링을 시작했음을 의미합니다.
  • 컨테이너를 수동으로 중지하면 Docker 데몬이 다시 시작하거나 컨테이너가 수동으로 다시 시작될 때까지 restart policy는 무시됩니다.

데몬 로그

리눅스 운영 체제에서 데몬 로그를 읽기 위해서는 journalctl -xu docker.service 명령 또는 리눅스 배포판에 따라 지정된 파일(/var/log/syslog 또는 /var/log/message)을 읽습니다.

디버깅 활성화


디버깅을 활성화하는 방법에는 두 가지가 있습니다. 권장되는 방식은 daemon.json 파일에 debug 키를 true로 설정하는 것입니다.

방법1: daemon.json 편집

  1. 일반적으로 /etc/docker/에 있는 daemon.json 파일을 편집합니다. 아직 존재하지 않는 경우 이 파일을 새로 만들어야 할 수도 있습니다.
  2. 파일이 비어 있으면 다음을 추가합니다. (log-level 키가 설정되어 있는지 확인하고 그렇다면 info 또는 debug로 설정합니다. 설정할 수 있는 값은 debug, info, warn, error, fatal 이고 기본 값은 info 입니다. )
    {
     "debug": true
    }
    
  3. 구성을 다시 로드하도록 docker 데몬에 HUP 신호를 보냅니다.
    $ sudo kill -SIGHUP ${pidof dockerd}
    

방법2: -D 플래그

  1. dockerd 데몬을 중지합니다.
  2. -D 플래그를 사용하여 수동으로 dockerd 데몬을 다시 시작합니다.

📌출처

Docker Docs


👍 개인 공부 기록용 블로그입니다. 오류나 조언이 있으시면 언제든지 댓글 혹은 메일로 남겨주시면 감사하겠습니다! 😄

맨 위로 이동하기

docker 카테고리 내 다른 글 보러가기

댓글남기기