Docker 컨테이너 자동 실행 옵션 끄기

Noul·2025년 3월 8일

개요

도커 데스크톱을 실행할 때마다 이전에 실행되었던 컨테이너들이 자동으로 시작되어, 불필요한 리소스 사용이나 관리의 번거로움을 겪는 경우가 있습니다.

저의 경우는 특정 컨테이너만 실행하고 싶은데 모든 컨테이너가 실행되어, 필요없는 컨테이너들을 수동으로 종료하는 게 귀찮아서 관련 설정을 찾아보았습니다.


설정 확인

우선 컨테이너 설정된 restart 정책을 확인해야 합니다.

해당 설정 옵션은 다음과 같습니다.

restart 설정 옵션

  • no : 컨테이너를 자동으로 재시작하지 않음
  • on-failure[:max-retries] : 컨테이너가 비정상적으로 종료되었을 때만 재시작
  • always : 컨테이너가 종료되면 항상 재시작
  • unless-stopped : 컨테이너를 수동으로 중지하지 않는 한 항상 재시작

아래 명령어를 통해 컨테이너의 restart 정책을 확인할 수 있습니다.

docker inspect -f "{{ .HostConfig.RestartPolicy.Name }}" <컨테이너_ID>

always로 설정된 모습


설정 변경

컨테이너의 restart 정책을 변경하는 방법은 여러 가지가 있습니다.

1. 기존 컨테이너 제거 후 다시 생성

docker run -d --name <컨테이너_이름> --restart no <이미지_이름>

2. docker compose를 사용하는 경우, docker-compose.yml 파일에서 restart 정책 설정

services:
  my_service:
    image: <이미지_이름>
    restart: "no"

3. 명령어로 정책을 변경

docker update --restart=no <컨테이너_NAME> 또는 <컨테이너_ID>

저는 3번 방법으로 정책을 변경했습니다.

no로 바뀐 모습


참고

https://docs.docker.com/engine/containers/start-containers-automatically/

profile
고민하고 트레이드오프

0개의 댓글