![[도커 #7] 볼륨](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog-custom%3Ftitle%3D%255B%25EB%258F%2584%25EC%25BB%25A4%2B%25237%255D%2B%25EB%25B3%25BC%25EB%25A5%25A8%26tag%3DTemplate%2B1%26description%3D%26template%3D3%26backgroundImage%3Dhttps%253A%252F%252Fsource.inblog.dev%252Fog_image%252Fdefault.png%26bgStartColor%3D%2523a8e8ec%26bgEndColor%3D%2523a8e8ec%26textColor%3D%2523000000%26tagColor%3D%2523000000%26descriptionColor%3D%2523000000%26logoUrl%3D%26blogTitle%3DGyeongwon%2527s%2Bblog&w=2048&q=75)
1. 도커 볼륨(Docker Volume)
도커 볼륨은 컨테이너가 꺼져도 살아남는, 외부 저장소(디스크 공간)이다.
컨테이너가 종료되면 그 안에 있는 파일도 같이 사라진다. 데이터를 영속적으로 저장하려면 외부 저장 공간이 필요하다. 그래서 볼륨이 등장했다.
2. 도커파일(Dockerfile)에서 실습

이미지 빌드
docker build -t mydb2 . // 이미지 빌드
도커 컨테이너 실행
docker run \ -d \ -p 3307:3306 \ -e MYSQL_ROOT_PASSWORD=cos1234! \ -v mydb-data:/var/lib/mysql \ mydb
-d : detached 모드 (백그라운드 실행)
-p 3307:3306 : 호스트의 3307 포트 → 컨테이너의 3306 포트로 연결, MySQL 기본 포트는 3306이므로, 내 PC에서
localhost:3307
로 접속-e MYSQL_ROOT_PASSWORD=cos1234! : 환경변수 설정 → MySQL의 root 비밀번호를 cos1234!로 설정
-v mydb-data:/var/lib/mysql : 도커 볼륨 연결
mydb-data
라는 이름의 볼륨을 컨테이너 내부의 /var/lib/mysql
경로에 연결 → DB 데이터가 여기에 저장되고, 컨테이너가 꺼져도 살아남음
\ : 리눅스에서 명령어를 줄바꿈해도 한 줄처럼 이어지게 해주는 연결자

3. 도커 볼륨 명령어
목적 | 명령어 |
볼륨 생성 | docker volume create mydata |
볼륨 목록 보기 | docker volume ls |
볼륨 상세 보기 | docker volume inspect mydata |
볼륨 삭제 | docker volume rm mydata |
4. 볼륨 사용의 예시
- DB, 로그, 업로드 파일 등 데이터가 유지돼야 하는 서비스
- 호스트와 파일 공유하고 싶을 때 (소스코드 hot reload)
- CI/CD 파이프라인에서 캐시 저장
Share article