Dockerはファイルをどこに保存しますか?

Dockerはファイルをどこに保存しますか?

Dockerインスタンスを作成し、いくつかのファイルを自宅に保存しました。インスタンスに再接続すると、ファイルは次のように表示されます。

$ 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

ベストアンサー1

おすすめ記事