1. 시험환경
˙ 우분투(ubuntu) 리눅스 v20.04
˙ docker
2. 목적
˙ 컨테이너(container)안에서 생성된 파일 및 데이터는 컨테이너 종료(rm)와 함께 삭제된다.
˙데이터 저장 전용 컨테이너(container)와 호스트(Host)를 이용하여 복합 저장소를 구성한다.
- 여러 컨테이너(container)안에서 생성된 파일을 데이터 저장 전용 컨테이너(container)에 마운트한다.
- 데이터 저장 전용 컨테이너(container)를 영구적인 저장소(volume)에 보관하기 위해 호스트에 마운트한다.
3. 적용
① -v 옵션과 함께 컨테이너(container)를 실행하면 Container의 저장소가 Host의 경로로 마운트 된다.
- 마운트 target 경로 : Host의 $(pwd)/docker-nginx-html
- 마운트 source 경로 : Container의 /usr/share/nginx/html
② --volumes-from 옵션과 함께 컨테이너(container)를 실행하면 지정경로를 다른 컨테이너(container, 데이터 저장 전용)에 마운트한다.
- $ docker run -d --volumes-from [container(저장소)] [image]
③ nginx 컨테이너(conatiner) 안에 진입하여 파일을 생성한다.
- "stupefied_joliot" 컨테이너(container) : test1.txt 파일 생성
- "confident_heyrovsky" 컨테이너(container) : test2.txt 파일 생성
④ 데이터 저장 전용 컨테이너(my-ubuntu)에 진입하여 다른 컨테이너(nginx)에서 생성한 파일이 저장되었는지 확인한다.
- 마운트 경로 : /usr/share/nginx/html은 nginx 실행을 위해 미리 정의된 경로이다.
⑤ 생성된 모든 컨테이너를 삭제한다.
- 모든 컨테이너 삭제 명령어 : $ docker rm $(docker ps -a -q)
4. 결과
˙ 컨테이너(conatiner)가 삭제되어도 Host 마운트 경로에 파일이 남아있는 것을 확인할 수 있다.
'AWS(Amozon Web Service)' 카테고리의 다른 글
[docker] ECR에 docker image 업로드(push) / 다운로드(pull) (0) | 2023.02.27 |
---|---|
[docker] ECR Repository 생성 및 IAM 사용자 권한 (0) | 2023.02.27 |
Route 53에서 도메인(Domain) 구매하기 (0) | 2023.02.21 |
호스팅 업체에서 구매한 도메인을 AWS Route53에서 호스팅 설정하기 (0) | 2023.02.20 |
[docker] 컨테이너(container) 저장소(volume) 설정 - 호스트 마운트 (0) | 2023.02.18 |