Infra & Devops/Docker
[Docker] bind mount, volume, tmpfs 적용하기
겸둥이xz
2021. 9. 17. 19:34
반응형
Bind Mount
docker run --volume [호스트경로]:[컨테이너 내 경로]
- 옵션
- Z : SELinux 문제 해결
- ro : 볼륨을 읽기 전용으로 마운트
호스트 OS ~/bindmount 를 컨테이너 /tmp/bindmount 로 마운트
[user@harbor ~]$ mkdir bindmount
[user@harbor ~]$ touch bindmount/hello.txt
docker run -dit --name bind-mount-test \
--rm \
--volume ~/bindmount:/tmp/bindmount \
centos:latest
read-only
docker run -dit --name read-only-test \
--rm \
--volume ~/bindmount:/tmp/bindmount:ro \
centos:latest
Volume
docker volume create 볼륨명
- 실제 생성된 볼륨은 호스트의 /var/lib/docker/volumes 내부에 생성됨
- docker volume ls : 볼륨 리스트 보기
마운트 포인트 확인하기
컨테이너에 볼륨 지정하기
docker run --rm -dit --name volume-test --volume test-vol:/tmp/test-vol centos:latest #볼륨 마운트
docker exec volume-test ls -l /tmp/test-vol # 볼륨 확인
docker exec volume-test touch /tmp/test-vol/hello.txt # 파일 생성
docker exec volume-test ls -l /tmp/test-vol
total 0
-rw-r--r--. 1 root root 0 Sep 15 05:39 hello.txt
- 호스트에서 확인이 가능하다!!
Tmpfs Mount
# --mount
docker run -dit \
--rm \
--name tmptest \
--mount type=tmpfs,destination=/app \
nginx:latest
# --tmpfs
docker run -dit \
--rm \
--name tmptest \
--tmpfs /app \
nginx:latest
- --tmpfs 를 사용하면 구성 가능한 옵션을 지정할 수 없고, swarm 서비스와 함께 사용할 수 없다
- swarm 서비스를 사용할 때는 --mount를 사용한다
<참고자료>
https://docs.docker.com/storage/tmpfs/
'완벽한 IT 인프라 구축을 위한 Docker 2판'
반응형