0Pricing
DevOps Bootcamp · 강의

영속성을 위한 Docker 볼륨

컨테이너화된 애플리케이션의 영속 데이터를 저장하고 관리하도록 Docker 볼륨을 구현합니다.

영속성을 위한 Docker 볼륨은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

영구 데이터가 필요한 이유

container는 가볍고 일시적으로 사용하도록 설계되었습니다. container를 제거하면 쓰기 가능한 레이어 안에 저장된 모든 데이터가 영구적으로 사라집니다.

그렇다면 애플리케이션에서 데이터베이스나 사용자 files처럼 중요한 정보를 저장해야 한다면 어떻게 해야 할까요? 이때 데이터 지속성이 필요합니다!

영속성을 위한 Docker 볼륨 — 일러스트레이션 1

도커 볼륨 소개

도커 볼륨은 도커에서 애플리케이션 데이터를 지속적으로 저장하는 가장 좋은 방법입니다. container에 직접 저장된 데이터와 달리 볼륨은 도커가 관리하며 특정 container와 독립적으로 존재합니다.

  • 도커가 관리하는 호스트 file 시스템의 일부에 저장됩니다.
  • 입출력 성능에 맞게 최적화되어 있습니다.
  • 쉽게 백업하거나 마이그레이션할 수 있습니다.

첫 번째 볼륨 만들기

이름이 있는 볼륨을 만들어 보겠습니다. 이름이 있는 볼륨은 간단합니다. 이름만 지정하면 나머지는 Docker가 처리합니다.

docker volume create 명령 뒤에 원하는 볼륨 이름을 입력해 사용합니다.

docker volume create my_data_volume

볼륨 목록 확인하기

볼륨을 만든 후에는 시스템에 있는 모든 Docker 볼륨 중 해당 볼륨을 목록에서 확인할 수 있습니다.

docker volume ls 명령을 사용하면 볼륨 목록을 볼 수 있습니다.

docker volume ls

컨테이너에서 볼륨 사용하기

이제 컨테이너를 실행하고 방금 만든 볼륨을 연결해 보겠습니다. 이때 -v 플래그를 사용합니다.

형식은 -v volume_name:container_path입니다. 이렇게 하면 my_data_volume이 nginx 컨테이너 내부의 /app/data에 마운트됩니다.

docker run -d --name my_app_with_volume -v my_data_volume:/app/data nginx

볼륨에 데이터 저장하기

실행 중인 컨테이너 내부에서 마운트된 볼륨에 데이터를 작성해 보겠습니다. 컨테이너 내부에서 명령을 실행하려면 docker exec를 사용합니다.

데이터는 컨테이너 내부의 /app/data/message.txt에 저장되며, 실제로는 my_data_volume에 저장됩니다.

docker exec my_app_with_volume sh -c "echo 'Hello from CoddyKit!' > /app/data/message.txt"

컨테이너를 삭제해도 데이터 유지하기

볼륨의 핵심 장점은 데이터가 유지된다는 점입니다! 직접 확인해 보겠습니다.

먼저 컨테이너를 중지하고 삭제합니다. 그런 다음 동일한 볼륨을 연결한 새 컨테이너를 실행하여 앞에서 작성한 데이터를 읽어 보겠습니다.

docker stop my_app_with_volume
docker rm my_app_with_volume
docker run --rm -it -v my_data_volume:/app/data alpine sh -c "cat /app/data/message.txt"

볼륨 세부 정보 확인하기

docker volume inspect 명령을 사용하면 볼륨에 관한 자세한 정보를 확인할 수 있습니다. 이 명령은 볼륨의 이름과 드라이버, 그리고 특히 호스트 파일 시스템에서의 마운트 지점을 보여 줍니다.

docker volume inspect my_data_volume

볼륨 정리하기

볼륨은 컨테이너와 독립적으로 존재한다는 점을 기억하세요. 더 이상 볼륨이 필요하지 않다면 명시적으로 삭제해야 합니다.

docker volume rm을 사용하세요. 데이터가 영구적으로 삭제되므로 주의해야 합니다!

docker volume rm my_data_volume

볼륨 빠르게 확인하기

Docker 볼륨에 대한 이해도를 확인하는 간단한 문제를 풀어 보겠습니다!

볼륨: 데이터 유지의 핵심

잘하셨습니다! Docker 볼륨이 데이터를 안정적으로 지속 저장하는 방법을 배웠습니다.

  • 컨테이너를 삭제해도 볼륨은 데이터를 안전하게 보존합니다.
  • 볼륨은 Docker가 관리하므로 성능과 이식성이 더 뛰어납니다.
  • 간단한 명령으로 볼륨을 만들고, 목록을 확인하고, 세부 정보를 검사하고, 삭제할 수 있습니다.

다음으로는 데이터를 관리하는 또 다른 방법인 바인드 마운트를 살펴보겠습니다. 바인드 마운트는 사용 목적이 다릅니다.

자주 묻는 질문

“영속성을 위한 Docker 볼륨” 강의는 무료인가요?

네 — “영속성을 위한 Docker 볼륨” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“영속성을 위한 Docker 볼륨”에서 뭘 배우나요?

컨테이너화된 애플리케이션의 영속 데이터를 저장하고 관리하도록 Docker 볼륨을 구현합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“영속성을 위한 Docker 볼륨” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 컨테이너 네트워킹 기초
  2. 영속성을 위한 Docker 볼륨
  3. 바인드 마운트 및 tmpfs 마운트
  4. 사용자 정의 브리지 네트워크와 서비스 검색
← DevOps Bootcamp(으)로 돌아가기