docker volume 설정

Lucas.Choi·2024년 9월 29일

ubuntu 서버

목록 보기
3/5

docker container로 ubuntu를 실행하고 있는데, container가 내려갈 때마다 ubuntu가 초기화된다는 것을 알았다.

docker container는 가상머신과 다르게 애플리케이션을 가볍고 빠르게 실행하고 제거하는 게 목적이기 때문에, 상태(파일, 데이터 등)는 기본적으로 휘발성이다. 즉, container를 중지하거나 제거하면, container내의 변경된 데이터는 기본적으로 사라진다. 이는 docker의 설계 원칙에 따른 것이다.

이 때문에 데이터 영속성을 보장하려면, 데이터를 저장할 때, docker volume이나 호스트 디렉터리를 컨테이너에 마운트 해야 한다.

이 두 가지 방법 중, 나는 docker volume을 사용하는 방식을 사용하려고 한다. 이 이유는 호스트에서 직접 접근이 불가하기 때문에 실시간 파일 동기화는 안되지만, 호스트 파일 시스템과 분리되어 보안성이 높기 때문이다.

// my_ubuntu_volume라는 이름의 볼륨 생성
# docker volume create my_ubuntu_volume

# docker run -it --name [컨테이너명] -v my_ubuntu_volume:/data ubuntu
// -v 옵션을 사용하여 생성한 볼륨을 ubuntu 컨테이너에 마운트 할 수 있다.
// -it : 터미널 모드로 container 실행
// --name : container 이름을 지정
// my_ubuntu_volume:/data : my_ubuntu_volume을 컨테이너 내의 /data를 volume에 마운트

0개의 댓글