볼륨
Bind Mount
Volume
tmfs mount
# 볼륨
데이터를 저장하기 위한 스토리지
컨테이너를 삭제하면 데이터가 없어진다
볼륨이라는 리소스를 제공해서 데이터를 볼륨에 저장
영구적인 데이터 저장
# bind mount
stateless 상태가 없다
별도의 상태를 저장하지 않는 상태 ex WEB
이미지를 만들어 놓고 vm,container 등에 찍어내면됨
호스트에 있는 특정 디렉토리 공유 (마운트 포인트 = 호스트의 디렉토리)
컨테이너에게 기존에 있는 데이터를 제공해야할 때가 있다 -> 설정파일,소스코드 제공
호스트에 있는 설정파일을 컨테이너에 제공
# 호스트에 디렉토리 만들기
vagrant@docker:~$ mkdir bindvol
vagrant@docker:~/bindvol$ echo "ldh volume" > index.html
# 컨테이너를 생성하면서 bind mount 연결
vagrant@docker:~/bindvol$ docker run -d --name web -v /home/vagrant/bindvol/:/usr/local/apache2/htdocs httpd
호스트의 경로 : 컨테이너의 경로
# 잘 연결 되었는지 확인
1.vagrant@docker:~$ docker inspect web
"Source": "/home/vagrant/bindvol",
"Destination": "/usr/local/apache2/htdocs",
2.vagrant@docker:~$ curl 172.17.0.2
ldh volume
-> host 에서 파일을 수정하면 수정된것을 받아온다
# volume
빈 디스크 제공
stateful 상태가 있다
별도의 데이터가 생성되는것 ex DB
->상태를 저장하기 위한 저장소가 필요함
mysql같은 데이터 저장->어플리케이션이 데이터를 생성
빈 볼륨 제공 ,이미지에 의해 내용이 채워짐
컨테이너 안에서 df-h 해보면 보이지 않음
# 볼륨 생성
vagrant@docker:~$ docker volume create ldhvol
ldhvol
# 볼륨 상세 확인
vagrant@docker:~$ docker inspect ldhvol
"CreatedAt": "2021-07-01T08:21:09Z",
"Driver": "local",
"Mountpoint": "/var/lib/docker/volumes/ldhvol/_data",
"Name": "ldhvol",
"Scope": "local"
# 볼륨 확인
vagrant@docker:~$ docker volume ls
DRIVER VOLUME NAME
local ldhvol
# 컨테이너를 생성하면서 볼륨 연결
vagrant@docker:~$ docker run -d --name web2 -v ldhvol:/usr/local/apache2/htdocs httpd
볼륨 이름 : 컨테이너의 경로
#이미지에 따라 컨테이너가 생성되면서 자동으로 볼륨이 만들어질수도 있음
mysql
inspect "volumes"에서 확인 가능
# tmpfs mount
memory(ram)을 컨테이너에 제공
tmpfs 메모리의 일부공간을 디스크처럼 사용 =ramdisk
종료시키면 날아감
빠름
임시데이터
컨테이너가 삭제 되어도 볼륨과 데이터는 삭제되지 않고 유지된다
->쓰던 볼륨으로 컨테이너를 생성하면 예전 데이터가 들어있다
'클라우드 > 도커(Docker)' 카테고리의 다른 글
도커 Docker Wordpress 인프라 구축 (0) | 2021.07.02 |
---|---|
도커 Docker 네트워크 / bridge, host, link (0) | 2021.07.01 |
도커 Docker 컨테이너 관리 (0) | 2021.07.01 |
도커 Docker Container 명령 (0) | 2021.07.01 |
도커 Docker 이미지 명령 (0) | 2021.07.01 |