[docker] docker 데몬 (5)
카테고리: docker
태그: docker
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 편집
- 일반적으로
/etc/docker/에 있는daemon.json파일을 편집합니다. 아직 존재하지 않는 경우 이 파일을 새로 만들어야 할 수도 있습니다. - 파일이 비어 있으면 다음을 추가합니다. (log-level 키가 설정되어 있는지 확인하고 그렇다면
info또는debug로 설정합니다. 설정할 수 있는 값은debug,info,warn,error,fatal이고 기본 값은info입니다. ){ "debug": true } - 구성을 다시 로드하도록 docker 데몬에
HUP신호를 보냅니다.$ sudo kill -SIGHUP ${pidof dockerd}
방법2: -D 플래그
- dockerd 데몬을 중지합니다.
-D플래그를 사용하여 수동으로 dockerd 데몬을 다시 시작합니다.
📌출처
👍 개인 공부 기록용 블로그입니다. 오류나 조언이 있으시면 언제든지 댓글 혹은 메일로 남겨주시면 감사하겠습니다! 😄
댓글남기기