[n회차 글 목록]
1. 도커 컨테이너의 데이터 관리 개념
- 기본적으로 모든 데이터는 임시로 저장된다. → 컨테이너 삭제 시 모든 Data 사라짐.
- Data를 지속적으로 사용하고자하는 경우, ‘볼륨’이라는 개념 이용
- 도커 컨테이너는 호스트와 컨테이너 사이의 디렉토리 공유 및 재사용 기능을 제공함. → 내용 수정시 모두 동일하게 반영됨.
- A컨테이너에서 사용한 Data는 B컨테이너 에서도 사용 가능.
- 쓰기 가능한 컨테이너 레이어에 Data가 저장되는데, 사실 데이터를 쉽게 이동 불가능함.
- 파일 시스템을 관리하기 위한 스토리지 드라이버가 필요함.
ex) mysql 컨테이너를 사용 후 DB도 구상함 → mysql 컨테이너 삭제하면 데이터 베이스도 날라가는 문제 발생 → 볼륨 이용해서 영구적인 데이터 보존 가능
도커에서 컨테이너가 호스트 시스템에 파일을 저장할 수 있는 방법에는 Volume, bind mounts, tmfs mount 등이 있음.
2. Docker 볼륨(volume) 관리 방식
- 볼륨은 자동 및 수동 방식으로 구성가능
- 만들어진 볼륨은 호스트에 저장됨.
docker volume 명령어
[root@localhost Desktop]# docker volume help Usage: docker volume COMMAND Manage volumes Commands: create Create a volume inspect Display detailed information on one or more volumes ls List volumes prune Remove unused local volumes rm Remove one or more volumes update Update a volume (cluster volumes only) Run 'docker volume COMMAND --help' for more information on a command. |
볼륨 생성
docker volume create 볼륨명
볼륨 확인
docker volume ls //볼륨 목록
docker volume inspect 볼륨명 //볼륨 자세한 정보
볼륨과 컨테이너 연결 예제
docker run시 -v 옵션을 사용하여 볼륨과 컨테이너를 연결한다.
docker run -d --name 이미지명 -v 호스트_볼륨정보:컨테이너_경로_정보
docker run -d --name test1 -v test_vol:/var/lib/mysql
웹 서버 1,2 를 데이터 연동시키기
docker run -d --name web1 -p 8080:80 -v test_vol1:/var/www nginx
docker run -d --name web2 -p 8081:80 -v test_vol2:/var/www
컨테이너 삭제 시 볼륨도 함께 삭제
docker rm -v -f 컨테이너명
→ -v옵션을 통해 가능
3. Docker bind mounts(바인드 마운트) 방식
- 바인드 마운트 호스트 시스템의 아무 곳에나 저장 가능.
- 언제든지 수정 가능
- volume에 비해 제한적인 기능
- 호스트 시스템의 파일 or 디렉터리가 컨테이너에 마운트 됨.
- 파일 또는 디렉터리는 호스트 시스템의 절대 경로를 참조
4. Docker 이미지와 레이어
이미지는 여러 개의 읽기 전용 레이어로 구성
ㄹ ㅔ 이어 개념 잘 모루겟다
https://hyeo-noo.tistory.com/340
?? 잘 모르겠다..
'프로젝트 > 클라우드 스터디' 카테고리의 다른 글
[3회차]docker 네트워크 관련 명령어(network create , network connect, network rm ) (1) | 2025.02.04 |
---|---|
[3회차]도커 네트워크 개념 (1) | 2025.02.04 |
[2회차]04. Docker 컨테이너 기본 개념 + 컨테이너 관리 명령어 (0) | 2025.01.23 |
[2회차] 03. docker hub 및 docker 이미지 관리 명령어 모음 (0) | 2025.01.23 |
[1회차] 02. 도커 컨테이너 환경 구축(로키 리눅스) (1) | 2025.01.14 |