1. docker cp
컨테이너의 파일 호스트로 가져오기
- docker cp [컨테이너명]:[파일경로] [호스트경로]
- ex) docker cp c2:/test/test.txt ./
호스트의 파일 컨테이너 내부에 복사
- docker cp [호스트 경로] [컨테이너 이름]:[컨테이너 내부 경로]
1.1. 호스트의 파일 컨테이너 내부로 복사
※ centos7 다운로드

※ c1 컨테이너 구동

※ c1 컨테이너에 /test 디렉터리 생성


※ c1컨테이너의 /test 디렉터리 아래에 호스트의 test.txt 파일 넣기

2. Docker Volume
도커가 직접 관리하며 컨테이너에 제공하는 호스트의 공간
다른 호스트에서도 도커가 관리하는 볼륨을 함께 사용할 수 있음
2.1. docker Volume으로 호스트와 컨테이너 연결
※ docker volume 명령어 확인
- create : volume 생성
- inspect : volume 상세 정보 출력
- ls : volume 리스트 출력
- prune : 사용하지 않는 모든 로컬 볼륨 삭제
- rm : volume 삭제

※ mhan 이름의 volume 생성 및 디렉터리 확인

※ Mountpoint 확인
→ /var/lib/docker/volumes/mhan/_data/ 디렉터리가 볼륨 디렉터리임을 확인할 수 있음

※ Host와 컨테이너의 디렉터리를 연결할 컨테이너 구동
→ 컨테이너 내부의 /mhan 디렉터리와 Host의 mhan 볼륨을 연결

※ 컨테이너의 Host와 연결한 볼륨 디렉터리가 생성되었는지 확인

※ mhan.txt 파일 생성

※ 컨테이너의 볼륨 디렉터리에 넣은 후 파일 확인하여 정상적으로 동기화 되었는지 확인

※ Host 의 mountpoint 확인하여 Host의 volume과 컨테이너의 디렉터리가 정상적으로 동기화 되었는지 확인

2.2. docker volume 삭제하기
※ 현재 생성되어있는 볼륨 확인

※ 볼륨 삭제 - 삭제할 볼륨이 현재 사용 중이므로 삭제가 실패된다.

※ 볼륨을 사용 중인 컨테이너 삭제 후 볼륨 삭제 - 정상적으로 삭제된다.

3. 바인드 마운트
Host의 파일 시스템과 컨테이너 내부를 연결해 한 쪽에서 작업한 내용이 양쪽에 동시에 반영되는 방법
컨테이너 구동 시 Host와 연결할 파일이나 디렉터리의 절대 경로를 지정하여 연결
3.1. 바인드 마운트로 호스트와 컨테이너 연결
※ 호스트의 /root/mhan1 디렉터리 생성

※ 호스트의 /root/mhan1 디렉터리와 /mhan1 디렉터리와 연결하여 c4 컨테이너 구동

※ c4 컨테이너의 호스트와 연결된 /mhan1 디렉터리 생성 확인

※ 호스트의 /root/mhan1 디렉터리 아래에 mhan1.txt 파일 생성 후 컨테이너의 /mhan1 디렉터리 확인
→ mhan1.txt 파일 동기화 확인

'Linux > Docker' 카테고리의 다른 글
33. CentOS7 : Container를 이용하여 Load Balancer 환경 구성 (0) | 2022.06.07 |
---|---|
32. CentOS7 : Docker Network (0) | 2022.06.07 |
28. CentOS7 : Docker - nginx, httpd, alpine, network (0) | 2022.05.31 |
27. CentOS7 : Docker - httpd, alpine (0) | 2022.05.31 |
26. CentOS : Cloud & Docker Install (0) | 2022.05.24 |