도커 인스턴스를 만들고 일부 파일을 집에 저장했습니다. 인스턴스에 다시 연결하면 파일이 다음과 같이 표시됩니다.
$ sudo docker start 09d9a9dfe53d
09d9a9dfe53d
$ sudo docker attach 09d9a9dfe53d
root@09d9a9dfe53d:/# cat /home/aaa/myfile
Hello world
이 파일들은 어디에 저장되어 있나요?
내가 가지고 있는 호스트에서
/var/lib/docker/volumes# ls -l
total 24
brw------- 1 root root 8, 1 янв 16 14:43 backingFsBlockDev
-rw------- 1 root root 32768 янв 16 14:43 metadata.db
여기 myfile
?
컨테이너가 중지되어도 파일은 사라지지 않습니다. 이는 다음을 증명합니다.
$ sudo docker run -it ubuntu bash
root@c7033ac0fdd2:/# cd home
root@c7033ac0fdd2:/home# ls
root@c7033ac0fdd2:/home# mkdir mydir
root@c7033ac0fdd2:/home# cd mydir
root@c7033ac0fdd2:/home/mydir# echo "Hello world" > myfile.txt
root@c7033ac0fdd2:/home/mydir# ls
myfile.txt
root@c7033ac0fdd2:/home/mydir# cat myfile.txt
Hello world
root@c7033ac0fdd2:/home/mydir# exit
exit
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c7033ac0fdd2 ubuntu "bash" About a minute ago Exited (0) 19 seconds ago reverent_shirley
...
$ sudo docker start c7033ac0fdd2
c7033ac0fdd2
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c7033ac0fdd2 ubuntu "bash" About a minute ago Up 9 seconds reverent_shirley
$ sudo docker attach c7033ac0fdd2
root@c7033ac0fdd2:/# cat /home/mydir/myfile.txt
Hello world
root@c7033ac0fdd2:/# exit
exit
findmnt
결과:
root@c7033ac0fdd2:/# findmnt /
TARGET SOURCE FSTYPE OPTIONS
/ overlay overlay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/4UV6PPC43YODQZYSDFVT35PNPR:/var/lib/docker/overlay2/l/2JI5EVHDBQUZNAN3AT5ZI3OFHI:/var/lib/docker/overlay2/l/IFJUJWCIKH4VPFKVU7XZZ3KBHD:/var/lib/docker/overlay2/l/NJ5DQNTMPOFFWOATHFLO6AYPWQ,upperdir=/var/lib/docker/overlay2/5f45f5c68e1d77683ee6be1395d