잡다/docker
[docker] restart policy
blaxsior
2023. 5. 1. 22:12
https://docs.docker.com/config/containers/start-containers-automatically/
Start containers automatically
docs.docker.com
docker 옵션 중 컨테이너가 종료되었을 때 어떻게 반응할지 지정하기 위한 'restart' 옵션이 존재한다. 서버의 경우 어떤 오류가 발생하더라도 계속 활성화된 상태를 유지해야 하는데, 이를 위해 현재 옵션을 지정할 수 있다.
- "no": 컨테이너를 재시작하지 않는다. 기본 옵션. 큰따옴표가 붙는 이유는 yml 파일에서 "no"가 false을 의미하기 때문
- on-failure[:max-retries]: 컨테이너가 비정상적으로 종료되었을 때 ( exit code != 0 일 때 ) 최대 max-retries번까지 컨테이너를 재시작한다.
- always: 컨테이너가 종료되면 에러 여부와 관계없이 항상 재시작한다. 만약 수동으로 종료했다면 Docker daemon이 재시작할 때 또는 수동으로 활성화할 수 있다.
- unless-stopped: always에서 수동으로 종료하는 경우 재시작하지 않는다.
vscode 기준으로 docker-compose 파일 내에서 자동완성을 지원하고 있지는 않으나 실제로는 존재하는 옵션이므로 명시하여 사용할 수 있다.
version: '3'
services:
my-redis:
image: redis
my-server:
build: ./server
restart: always
ports:
- "3030:8080"