[Docker] Restart 설정

restart 설정은 docker를 재시작하거나 컨테이너의 상태에 따라 컨테이너를 자동으로 재시작하는 설정입니다.

restart 옵션

restart: "no"
restart: "always"
restart: "on-failure"
restart: "unless-stopped"

 

no 옵션 (Default)

restart 설정의 Default 값은 no 옵션이 적용되어 있으며 어떠한 경우에도 컨테이너가 종료되면 재시작하지 않습니다.

services:
  httpd:
    image: httpd:latest
    container_name: "my-web-server"
    restart: "no"

 

always 옵션

always 옵션은 컨테이너를 항상 재시작합니다.

services:
  httpd:
    image: httpd:latest
    container_name: "my-web-server"
    restart: "always"

 

Docker 서비스를 재시작해도 바로 실행됩니다.

# service docker restart
 * Stopping Docker:         [ OK ]
 * Starting Docker:         [ OK ]
# docker ps -a
CONTAINER ID   IMAGE          COMMAND              CREATED              STATUS         PORTS     NAMES
559ab0d55142   httpd:latest   "httpd-foreground"   About a minute ago   Up 4 seconds   80/tcp    my-web-server

 

단 관리자가 직접 stop 명령어로 컨테이너를 종료한 경우에는 재시작되지 않습니다.

# docker stop my-web-server
my-web-server
# docker ps -a
CONTAINER ID   IMAGE          COMMAND              CREATED          STATUS                     PORTS     NAMES
559ab0d55142   httpd:latest   "httpd-foreground"   10 minutes ago   Exited (0) 4 seconds ago             my-web-server

 

on-failure 옵션

on-failure 옵션은 오류가 발생하여 컨테이너가 비정상 종료될 경우 컨테이너를 다시 시작합니다.

services:
  httpd:
    image: httpd:latest
    container_name: "my-web-server"
    restart: "on-failure"

 

unless-stopped 옵션

unless-stopped 옵션은 컨테이너가 종료되기 전까지 재시작하는 옵션으로 Docker를 재시작 하거나 OS 리부팅 시 자동으로 시작할 수 있도록 사용합니다.

services:
  httpd:
    image: httpd:latest
    container_name: "my-web-server"
    restart: "unless-stopped"

'Docker' 카테고리의 다른 글

[Docker] Healthcheck 설정을 통한 컨테이너 상태 점검  (0) 2022.10.19
[Docker] Volumes 설정  (0) 2022.10.11
[Docker] Container name 설정  (0) 2022.09.19
[Docker] compose 기본 사용법  (0) 2022.09.19
[Docker] 기본 명령어  (0) 2022.09.15

+ Recent posts