docker的volume

volume是docker掛載空間的一種方式。

但是docker好像有另外一種掛載空間方法,比如:docker run -v /usr/local:/usr/local 這種掛載方式叫做bind方式。

爲了直觀,我找一個既有bind方式又有volume方式的容器。

我們查看一下他的Mounts

[root@localhost ~]# docker inspect 【container】 | grep "Mounts" -A 20
"Mounts": [
            {
                "Type": "volume",
                "Name": "45cf0f2ba1d197b2w12312d1d323d2d32d24fe0",
                "Source": "/var/lib/docker/volumes/45cf0f2ba1d197b2w12312d1d323d2d32d24fe0/_data",
                "Destination": "/home/oracle/app/oracle/oradata",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "bind",
                "Source": "/usr/local/oracle/data",
                "Destination": "/home/oracle/data_temp",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],

可以發現這個容器將宿主機的/var/lib/docker/volumes/45cf0f2ba1d197b2w12312d1d323d2d32d24fe0/_data和/usr/local/oracle/data都掛載了,而且是通過不同的方式。

其實這兩種方式沒有本質的區別,只是使用volume時,該空間是由docker管控,都在docker安裝目錄下的volumes文件夾裏,並可以通過docker system sf -v 來觀察其大小

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章