이미지 및 내용 출처 : [Fastcampus]한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online.
➡️ 컨테이너 상 볼륨 사용의 영구 보관을 위해
호스트 볼륨
$ docker run -d \
--name [container name] \
-v [host 디렉토리]:[container 디렉토리] \
[container]
: 호스트의 디렉토리를 컨테이너의 웹 루트 디렉토리로 마운트
✅ $(pwd) : 현재 디렉토리
볼륨 컨테이너
-> data만을 보관하는 data-only container 생성 후 container가 data-only container를 volume container로 참조
$ docker run -d \
--name [container name] \
--volumes-from [volume container] \
[container]
: volume container의 볼륨을 공유
✅ docker inspect [container] : Mounts에서 volume mount 확인
$ docker volume create --name [volume-name] : 도커 볼륨 생성
ex)
$ docker run -d \
--name [container] \
-e MYSQL_DATABASE=fastcampus \ ✅ mysql db 이름 지정
-e MYSQL_ROOT_PASSWORD=fastcampus \ ✅ mysql root계정 패스워드 지정
-v [volume-name]:/var/lib/mysql \ ✅ /var/lib/mysql -> mysql이 데이터를 쌓는 경로
-p 3306:3306 \
mysql:5.7
: 도커의 [volume-name] 볼륨을 mysql의 웹 루트 디렉토리로 마운트
✅ docker volume ls : 도커 볼륨 목록 확인
✅ docker volume 읽기전용 옵션
$ docker run -d \
--name [container-name] \
-v [volume-name]:/usr/share/nginx/html:ro \
[container]
: 도커의 web-volume 볼륨을 [container]의 웹 루트 디렉토리로 읽기 전용 마운트
➡️ 변경이 되서는 안되는 디렉토리나 파일 연결을 위해 사용 ex) 설정 파일 등..