Docker 컨테이너 실행, 중지, 삭제 및 데이터 유지 관리 방법

Docker 컨테이너 실행, 중지, 삭제 및 데이터 유지 관리 방법

Docker는 애플리케이션 개발과 배포를 효율적으로 관리할 수 있는 강력한 도구입니다. 이 글에서는 Docker 컨테이너를 실행, 중지, 삭제하고 데이터 유지 관리 방법까지 단계별로 알아보겠습니다. 예제로 n8n 서비스를 사용하여 실습을 진행합니다.

1. Docker 설치

먼저 Docker를 설치해야 합니다. 아래 공식 사이트에서 운영 체제에 맞는 설치 파일을 다운로드하세요.

설치가 완료되면 명령 프롬프트 또는 터미널에서 docker --version 명령어로 설치 상태를 확인하세요.

터미널에서 docker --version 명령어로 설치 상태를 확인

2. 컨테이너 실행

Docker에서 컨테이너를 실행하려면 docker run 명령어를 사용합니다. 아래는 n8n 서비스를 실행하는 명령어 예제입니다.

docker run -d -p 5678:5678 \
  -v C:\blueshare\n8n-data:/home/node/.n8n \
  --restart always \
  n8nio/n8n:latest

이 명령어의 구성 요소는 다음과 같습니다:

  • -d: 컨테이너를 백그라운드에서 실행합니다.
  • -p 5678:5678: 호스트의 포트 5678을 컨테이너의 포트 5678에 매핑합니다.
  • -v C:\blueshare\n8n-data:/home/node/.n8n: 호스트의 로컬 디렉터리(C:\blueshare\n8n-data)를 컨테이너의 데이터 디렉터리(/home/node/.n8n)에 마운트합니다. 이 설정을 통해 데이터를 컨테이너 외부에 저장하고, 컨테이너 삭제 후에도 데이터를 유지할 수 있습니다.
  • --restart always: 컨테이너가 중지되거나 호스트 시스템이 재부팅될 경우 자동으로 다시 시작되도록 설정합니다.
  • n8nio/n8n:latest: n8n의 최신 이미지를 기반으로 컨테이너를 생성합니다.

–restart always 옵션 설명

--restart always 옵션은 컨테이너의 가용성을 높이기 위한 설정입니다. 다음과 같은 상황에서 유용합니다.

  • 호스트 시스템 재부팅: 시스템이 재부팅되면 컨테이너가 자동으로 시작됩니다.
  • 컨테이너 중지 후 자동 재시작: 컨테이너가 비정상적으로 종료되더라도 자동으로 다시 시작됩니다.

단, docker stop 명령어로 명시적으로 중지한 경우에는 다시 시작되지 않습니다.

언제 –restart always를 사용할까요?

  • 프로덕션 환경에서 백그라운드 서비스(n8n 등)를 안정적으로 운영할 때 적합합니다.
  • 개발 환경에서는 필요에 따라 생략할 수 있습니다. 수동으로 컨테이너를 시작 및 중지할 경우 --restart always를 제거해도 됩니다.

예를 들어, 개발 환경에서 --restart always 옵션 없이 실행하려면 다음 명령어를 사용할 수 있습니다.

docker run -d -p 5678:5678 \
  -v C:\blueshare\n8n-data:/home/node/.n8n \
  n8nio/n8n:latest

3. 실행 중인 컨테이너 확인

현재 실행 중인 컨테이너 목록은 다음 명령어로 확인할 수 있습니다.

docker ps

이 명령어는 컨테이너 ID, 이름, 이미지, 상태 등 실행 중인 컨테이너 정보를 보여줍니다.

4. 컨테이너 중지

컨테이너 실행을 중지하려면 docker stop 명령어를 사용합니다. 컨테이너 ID 또는 이름을 지정해야 합니다.

docker stop <컨테이너 ID 또는 이름>

예:

docker stop ff79f12f8367

5. 컨테이너 삭제

컨테이너를 더 이상 사용하지 않을 경우 docker rm 명령어로 삭제할 수 있습니다. 삭제 전에 반드시 컨테이너를 중지해야 합니다.

docker rm <컨테이너 ID 또는 이름>

예:

docker rm ff79f12f8367

6. 데이터 유지 확인

컨테이너 삭제 후에도 데이터는 로컬 디렉터리에 남아 있어야 합니다. 예를 들어, C:\blueshare\n8n-data에 저장된 database.sqlite 파일이 그대로 있는지 확인합니다.

새로운 컨테이너를 생성하고 데이터가 유지되는지 확인하려면 다음 명령어를 실행합니다.

docker run -d -p 5678:5678 -v C:\blueshare\n8n-data:/home/node/.n8n n8nio/n8n:latest

브라우저에서 http://localhost:5678로 접속하여 데이터가 유지되었는지 확인합니다.

n8n 서비스 사용 예제

7. 추가 팁: 컨테이너 이름 설정

컨테이너를 실행할 때 이름을 지정하면 관리가 훨씬 편리합니다. 다음과 같이 실행하면 컨테이너 이름을 지정할 수 있습니다.

docker run -d -p 5678:5678 -v C:\blueshare\n8n-data:/home/node/.n8n --name n8n-container n8nio/n8n:latest

이제 이름으로 컨테이너를 중지 및 시작할 수 있습니다.

docker stop n8n-container
docker start n8n-container

결론

Docker 컨테이너는 애플리케이션 실행과 관리에 매우 유용한 도구입니다. 컨테이너를 중지하거나 삭제하더라도 볼륨을 사용하면 데이터를 안전하게 보관할 수 있습니다. 위 방법을 참고하여 Docker 컨테이너를 효과적으로 관리해 보세요!

👉 추가로 자세한 내용은 Docker 공식 문서를 참고하세요: Docker 공식 문서

함께 보면 좋은 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤