도커 컨테이너를 사용하면 애플리케이션을 쉽게 배포하고 관리할 수 있습니다. 그러나 시스템이 재부팅될 때마다 컨테이너를 수동으로 시작해야 한다면 번거로울 수 있습니다. 다행히도 도커는 컨테이너가 자동으로 시작되도록 설정할 수 있는 기능을 제공합니다. 이번 글에서는 시스템 부팅 시 도커 컨테이너가 자동으로 시작되도록 설정하는 방법을 알아보겠습니다.
1. --restart 옵션 사용
도커 컨테이너를 실행할 때 --restart
옵션을 사용하면 컨테이너가 자동으로 시작되도록 설정할 수 있습니다. 이 옵션에는 여러 가지 설정이 있으며, 각 설정의 의미는 다음과 같습니다:
- no: 컨테이너를 자동으로 재시작하지 않습니다 (기본값).
- on-failure: 컨테이너가 비정상 종료될 경우에만 재시작합니다.
- always: 컨테이너가 종료될 때마다 항상 재시작합니다.
- unless-stopped: 컨테이너가 수동으로 중지되지 않는 한 항상 재시작합니다.
예를 들어, --restart=always
옵션을 사용하여 컨테이너를 실행하려면 다음과 같이 명령어를 입력합니다:
docker run --name my_container --restart=always -d my_image
이 명령어는 my_container
라는 이름의 컨테이너를 my_image
이미지를 사용하여 실행하며, 컨테이너가 종료될 때마다 자동으로 재시작합니다.
[Docker] 리눅스 부팅 시 도커 컨테이너 자동 실행 시키기
[Docker] 리눅스 부팅 시 도커 컨테이너 자동 실행 시키기
도커 컨네이너를 서비스로 등록하여 부팅시 자동으로 실행되도록 설정해보겠습니다. 라즈비안 OS환경에서 실행했으며(우분투에서도 동일하게 동작합니다.) Django 웹서버로 만든 도커 컨테이너
jhkimmm.tistory.com
2. 기존 컨테이너에 --restart 옵션 적용
이미 실행 중인 컨테이너에 --restart
옵션을 적용하려면 docker update
명령어를 사용할 수 있습니다. 예를 들어, my_container
라는 이름의 컨테이너에 --restart=always
옵션을 적용하려면 다음과 같이 명령어를 입력합니다:
docker update --restart=always my_container
이 명령어는 기존 컨테이너에 재시작 정책을 적용하여, 컨테이너가 종료될 때마다 자동으로 재시작되도록 설정합니다.
3. Docker Compose 사용
여러 개의 컨테이너를 관리할 때는 Docker Compose를 사용하는 것이 편리합니다. Docker Compose 파일에서 각 서비스에 restart
옵션을 설정하여 컨테이너가 자동으로 시작되도록 할 수 있습니다. 예를 들어, 다음과 같은 Docker Compose 파일을 작성할 수 있습니다:
version: '3.3'
services:
my_service:
image: my_image
restart: always
이 파일을 사용하여 Docker Compose를 실행하면 my_service
라는 이름의 서비스가 자동으로 시작되며, 종료될 때마다 재시작됩니다.
시스템 부팅 시 도커 컨테이너가 자동으로 시작되도록 설정하는 방법에 대해 알아보았습니다. --restart
옵션을 사용하거나 Docker Compose 파일에서 restart
옵션을 설정하면 컨테이너가 자동으로 시작되도록 할 수 있습니다. 이 방법들을 활용하여 도커 컨테이너를 더욱 효율적으로 관리해 보세요.