Cloud/Container

docker container 공유 디렉토리 구성하기

junsuyoun 2022. 10. 4. 17:37
728x90
반응형

docker container간 디렉토리를 공유하거나 docker container와 docker server간에 공유가 가능한 디렉토리 환경 구성


공유 환경 구성도

docker server에서 공유할 디렉토리 생성 및 테스트 파일 생성
[root@docker_server ~]# mkdir /directory
[root@docker_server /directory]# touch host_file
[root@docker_server /directory]# ls
host_file

 

container1 공유 디렉토리 마운트 옵션 추가하여 배포
[root@docker_server ~]# docker run -itd -v /directory:/directory --name container1 centos:7.9.2009
d8e12b5d0512671e95071288865ea9b5a0039f7b8e2d2f43d3f6013359a7d910

[root@docker_server directory]docker_host# docker exec -it container1 bash

[root@d8e12b5d0512 /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay         916G  538G  333G  62% /
tmpfs            64M     0   64M   0% /dev
tmpfs            20G     0   20G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/sdb5       117G   28G   83G  26% /directory
/dev/sda        916G  538G  333G  62% /etc/hosts
tmpfs            20G     0   20G   0% /proc/asound
tmpfs            20G     0   20G   0% /proc/acpi
tmpfs            20G     0   20G   0% /proc/scsi
tmpfs            20G     0   20G   0% /sys/firmware

[root@d8e12b5d0512 /]# cd /directory/

[root@d8e12b5d0512 directory]# ls
host_file

[root@d8e12b5d0512 directory]# touch contianer1_file

[root@d8e12b5d0512 directory]# ls
contianer1_file  host_file

 

container2 공유 디렉토리 마운트 옵션 추가하여 배포
[root@docker_server ~]# docker run -itd -v /directory:/directory --name container2 centos:7.9.2009
d8cff61100553ea5c4f453400b9664e4818974a55eb9cd840ab0d1def3d489f6

[root@docker_server directory]# docker exec -it container2 bash

[root@d8cff6110055 /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay         916G  538G  333G  62% /
tmpfs            64M     0   64M   0% /dev
tmpfs            20G     0   20G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/sdb5       117G   28G   83G  26% /directory
/dev/sda        916G  538G  333G  62% /etc/hosts
tmpfs            20G     0   20G   0% /proc/asound
tmpfs            20G     0   20G   0% /proc/acpi
tmpfs            20G     0   20G   0% /proc/scsi
tmpfs            20G     0   20G   0% /sys/firmware

[root@d8cff6110055 /]# cd directory/

[root@d8cff6110055 directory]# ls
contianer1_file  host_file

[root@d8cff6110055 directory]# touch container2_file

[root@d8cff6110055 directory]# ls
container2_file  contianer1_file  host_file

 

container inspect로 마운트 옵션 확인
[root@docker_server directory]# docker inspect container1
... 생략 ...
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/directory",
                "Destination": "/directory",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ]
... 생략 ...

[root@docker_server directory]# docker inspect container2
... 생략 ...
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/directory",
                "Destination": "/directory",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ]
... 생략 ...

 

docker server에서 공유 디렉토리 확인
[root@docker_server directory]docker_host# cd /directory/

[root@docker_server directory]docker_host# ls
container2_file  contianer1_file  host_file

 

728x90
반응형