Dockerfile
里的VOLUME
和docker run -v /path
的时候挂载容器的挂载点效果是一致的会在宿主机/var/lib/docker/volumes
目录生成随机目录
发现--rm
不单单是删除掉容器,还会删掉挂载点的数据
首先不使用--rm
下看看效果
1 2 3 4 5 6 7 8 9 10 11
| [root@guan_tx ]# docker run -tid --name busybox -v /guan busybox be59bd455fbde8a8d195220d96c6676ad8fa6f26e1ebac6533020c83dacbf907 [root@guan_tx ]# docker exec busybox touch /guan/test.file [root@guan_tx ]# docker stop busybox busybox [root@guan_tx ]# find /var/lib/docker/ -name 'test.file' -type f /var/lib/docker/volumes/2f759d991f3d845dd63d2fbac08c587b7452b87e1b9b8a8450960edd0fdeb93d/_data/test.file [root@guan_tx ]# docker rm busybox busybox [root@guan_tx ]# find /var/lib/docker/ -name 'test.file' -type f /var/lib/docker/volumes/2f759d991f3d845dd63d2fbac08c587b7452b87e1b9b8a8450960edd0fdeb93d/_data/test.file
|
上面看到是删掉容器挂载点的文件还存在,删掉这个还存在的文件后我们再试试--rm
的效果
1 2 3 4 5 6 7 8 9
| [root@guan_tx ]# docker run --rm -tid --name busybox -v /guan busybox f51a32541b7f99f8b1d14042479f3c7df4b7b30db2cb6a2072af1b17f5654c32 [root@guan_tx ]# docker exec busybox touch /guan/test.file [root@guan_tx ]# find /var/lib/docker/ -name 'test.file' -type f /var/lib/docker/volumes/7fa030713fd794d1882ec00877300d8bc1574f9fbecef13deade787aed52f8af/_data/test.file [root@guan_tx ]# docker stop busybox busybox [root@guan_tx ]# find /var/lib/docker/ -name 'test.file' -type f [root@guan_tx ]#
|
上面命令可以看出使用了--rm
选项停掉容器后(会自动删掉容器)会删掉挂载点