Docker Volume 사용법

이애옹·2023년 11월 28일
0


이미지 출처 : https://aws.amazon.com/ko/docker/

Docker Container에 쓰여진 데이터는 기본적으로 컨테이너가 삭제될 때 함께 사라지기 때문에, 데이터를 계속 보관해야 할 경우에는 Docker Volume을 사용해야 한다!!

그 외에 bind Mount를 사용해도 되지만, 나는 Docker Volume을 사용했으므로 이것만 정리..
(참고 : Docker Volume과 Bind Mount )

📝 볼륨 생성

먼저, docker volume을 생성하기 위해 서버에서 명령어를 입력 해 주면 된다.

sudo docker volume create admin-data

나 같은 경우 Admin과 관련된 데이터를 저장 해 두어야 하기 때문에,
admin-data라는 이름으로 볼륨을 생성해줬다.

📝 볼륨 조회

sudo docker volume ls (목록 확인)
sudo docker volume inspect admin-data (자세한 정보 확인)

다음은 볼륨을 조회 할 수 있는 명령어인데, ls로 단순 목록 확인이 가능하며 inspect로 자세한 정보를 확인 할 수 있다.

inspect 명령어 실행 시에는 다음과 같은 결과가 나왔다.


    {
        "CreatedAt": "2023-11-13T16:03:27+09:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/admin-data/_data",
        "Name": "admin-data",
        "Options": {},
        "Scope": "local"
    }
]

📝 볼륨을 컨테이너에 마운트하기

이제 컨테이너가 볼륨을 사용하기 위해서는 볼륨을 컨테이너에 마운트 해 줘야한다.

docker run 명령어 사용 시 -v 옵션을 사용 해 주면 되고,
콜론(:)을 구분자로 하여 앞에는 마운트 할 볼륨명, 뒤에는 컨테이너 경로를 명시하면 된다!

sudo docker run -v 볼륨명:컨테이너 경로 ~

나같은 경우

docker run -v admin-data:/app/uploads ~

이런식으로 경로를 지정 해 줬다. (내가 원하는 마운트 포인트는 /app/uploads 였다.)

📝 볼륨 삭제

sudo docker volume rm admin-data

위 명령어로 볼륨을 삭제하는 것이 가능한데, 이미 마운트 되어 있는 컨테이너가 있을 경우에는 볼륨이 제거되지 않는다고 한다.

이럴 경우 해당 볼륨이 마운트 된 모든 컨테이너 삭제 후 볼륨을 삭제해야 한다고 한다!!

📝 볼륨 청소

sudo docker volume prune

마운트 되어 있지 않은 모든 볼륨을 한번에 제거 할 수 있는 명령어다.

👀 참고 자료

profile
안녕하세요

0개의 댓글