이번 포스팅은 기본적으로 docker 운영에 있어서 사용되는 명령어에 대해 다뤄보았습니다.
문의 사항은 댓글로 남겨주시면 성심성의껏 답변드리도록 하겠습니다
Docker command (Volume)
호스트 데이터 볼륨 사용 (-v)
# 데이터볼륨은 데이터를 컨테이너가 아닌 호스트에 저장하는 방식
# 컨테이너안의 파일은 UnionFS로 관리되지만 (https://en.wikipedia.org/wiki/UnionFS)
# 데이터볼륨을 사용하면 UnionFS를 통하지 않고 바로 호스트에 저장됨
# 컨테이너들끼리의 파일 공유에 활용
# 아래는 데이터볼륨을 사용하는 예제
# -v 옵션없이 컨테이너를 실행시키면
$ docker run -i -t --name hello-no-volume ubuntu /bin/bash
root@da83f5211e54:/# df -h
Filesystem | Size | Used | Avail | Use% | Mounted on |
rootfs | 29G | 8.9G | 19G | 33% | / |
none | 29G | 8.9G | 19G | 33% | / |
tmpfs | 1.5G | 0 | 1.5G | 0% | /dev |
shm | 64M | 0 | 64M | 0% | /dev/shm |
tmpfs | 1.5G | 0 | 1.5G | 0% | /sys/fs/cgroup |
/dev/mapper/host--01--vg-root | 29G | 8.9G | 19G | 33% | /etc/host |
tmpfs | 1.5G | 0 | 1.5G | 0% | /proc/kcore |
tmpfs | 1.5G | 0 | 1.5G | 0% | /proc/latency_stats |
tmpfs | 1.5G | 0 | 1.5G | 0% | /proc/timer_stats |
Filesystem | Size | Used | Avail | Use% | Mounted on |
rootfs | 29G | 8.9G | 19G | 33% | / |
none | 29G | 8.9G | 19G | 33% | / |
tmpfs | 1.5G | 0 | 1.5G | 0% | /dev |
shm | 64M | 0 | 64M | 0% | /dev/shm |
tmpfs | 1.5G | 0 | 1.5G | 0% | /sys/fs/cgroup |
/dev/mapper/host--01--vg-root | 29G | 8.9G | 19G | 33% | /data |
tmpfs | 1.5G | 0 | 1.5G | 0% | /proc/kcore |
tmpfs | 1.5G | 0 | 1.5G | 0% | /proc/latency_stats |
tmpfs | 1.5G | 0 | 1.5G | 0% | /proc/timer_stats |
데이터 볼륨 컨테이너 사용 (--volume-from)
# 데이터볼륨을 이용해 호스트-컨테이너, 컨테이너-컨테이너의 디렉토리 공유를 할수도 있지만
# 데이터볼륨컨테이너를 이용해서 할수도 있음
1. 데이터볼륨컨테이너생성
$ docker run -i -t --name volume_container -v /root/data:/data ubuntu /bin/bash
root@e8a8a81fe700:/# 상태에서 ctrl+p 또는 ctrl+q해 컨테이너를 실행시킨채로 빠져나옴
2. 일반컨테이너생성후 위 데이터볼륨컨테이너에 연결
$ docker run -i -t --volumes-from volume_container --name hello1 ubuntu /bin/bash
root@54eeca9fd57b:/# df -h
Filesystem | Size | Used | Avail | Use% | Mounted on |
rootfs | 29G | 8.9G | 19G | 33% | / |
none | 29G | 8.9G | 19G | 33% | / |
tmpfs | 1.5G | 0 | 1.5G | 0% | /dev |
shm | 64M | 0 | 64M | 0% | /dev/shm |
tmpfs | 1.5G | 0 | 1.5G | 0% | /sys/fs/cgroup |
/dev/mapper/host--01--vg-root |
29G | 8.9G | 19G | 33% | /data |
tmpfs | 1.5G | 0 | 1.5G | 0% | /proc/kcore |
tmpfs | 1.5G | 0 | 1.5G | 0% | /proc/latency_stats |
tmpfs | 1.5G | 0 | 1.5G | 0% | /proc/timer_stats |
root@54eeca9fd57b:/# touch /data/written_hello1
root@54eeca9fd57b:/# exit
3. 일반컨테이너 하나 더 연결
$ docker run -i -t --volumes-from volume_container --name hello2 ubuntu /bin/bash
root@6128876c89a4:/# touch /data/written_hello2
root@6128876c89a4:/# exit
exit
4. 볼륨컨테이너에서 데이터확인
$ docker attach volume_container
root@e8a8a81fe700:/# ls /data
written_hello1 written_hello2
'IT > Docker' 카테고리의 다른 글
Mono in Docker container (컨테이너에서 모노 이용) (0) | 2018.07.15 |
---|---|
Docker base image (도커 기본이미지) (0) | 2018.07.15 |
Docker Container tutorial (도커 컨테이너 매뉴얼) 2-4.명령어 (container 3) (0) | 2018.07.14 |
Docker Container tutorial (도커 컨테이너 매뉴얼) 2-3.명령어 (container 2) (0) | 2018.07.14 |
Docker Container tutorial (도커 컨테이너 매뉴얼) 2-2.명령어 (image 2) (0) | 2018.07.12 |
댓글