Docker 볼륨을 이용한 데이터 지속성: 컨테이너 내 데이터 저장 및 관리
기본적으로 Docker 컨테이너 내에 저장된 데이터는 일시적인 (ephemeral) 특성을 가지며, 컨테이너가 중지되거나 제거되면 데이터가 손실됩니다. 데이터를 지속적으로 저장하기 위해 Docker 는 볼륨이라는 기능을 제공합니다. 볼륨을 사용하면 호스트 시스템의 디렉토리를 컨테이너에 마운트할 수 있습니다.
Docker 볼륨이란 무엇인가요?
Docker 볼륨은 컨테이너 파일 시스템 외부에서 데이터를 저장하고 관리하는 방법입니다. 볼륨은 애플리케이션 데이터, 구성 파일 또는 컨테이너 수명주기 이후에도 지속되어야 하는 모든 데이터를 저장하는 데 사용할 수 있습니다.
볼륨은 docker volume 명령을 사용하여 생성 및 관리할 수 있습니다. 예를 들어, 새 볼륨을 생성하려면 다음과 같이 합니다.
docker volume create my-data-volume
컨테이너에서 볼륨 마운트하기
컨테이너에서 볼륨을 마운트하려면 docker run 명령을 실행할 때 -v 또는 --mount 플래그를 사용할 수 있습니다. 예를 들어, Nginx 컨테이너를 실행하고 /usr/share/nginx/html 디렉토리에 볼륨을 마운트하려면 다음과 같이 합니다.
docker run -d -p 80:80 -v my-data-volume:/usr/share/nginx/html nginx:latest
이 예제에서 my-data-volume 볼륨은 컨테이너 내의 /usr/share/nginx/html 디렉토리에 마운트됩니다. 이 디렉토리에 작성된 모든 데이터는 볼륨에 저장되며, 컨테이너가 중지되거나 제거되더라도 데이터는 지속됩니다.
볼륨 관리
시스템의 모든 볼륨을 나열하려면 docker volume ls 명령을 사용합니다.
docker volume ls
특정 볼륨의 세부 정보를 검사하려면 docker volume inspect 명령을 사용합니다.
docker volume inspect my-data-volume
볼륨이 더 이상 필요하지 않으면 docker volume rm 명령을 사용하여 제거할 수 있습니다.
docker volume rm my-data-volume
Docker 볼륨을 사용하면 애플리케이션 데이터가 개별 컨테이너의 수명주기 이후에도 지속되도록 보장하여 애플리케이션 관리 및 확장을 용이하게 할 수 있습니다.