Docker-V 詳解

1. 作用

掛載宿主機的一個目錄。

2. 案例

譬如我要啓動一個centos容器,宿主機的/test目錄掛載到容器的/soft目錄,可通過以下方式指定:

# docker run -it -v /test:/soft centos /bin/bash

冒號":"前面的目錄是宿主機目錄,後面的目錄是容器內目錄。

3. 注意事項

3.1 容器目錄不可以爲相對路徑

[root@localhost ~]# docker run -it -v /test:soft centos /bin/bash
invalid value "/test:soft" for flag -v: soft is not an absolute path
See 'docker run --help'.

3.2 宿主機目錄如果不存在,則會自動生成

3.3 宿主機的目錄如果爲相對路徑呢?通過inspect查看

這次,我們換個目錄名test1試試

# docker run -it -v test1:/soft centos /bin/bash

再到宿主機上查看是否新增了一個/test1目錄,結果沒有,是不是因爲我用的是相對路徑,所以生成的test1目錄在當前目錄下,結果發現還是沒有。那容器內的/soft目錄掛載到哪裏去了?通過docker inspect命令,查看容器“Mounts”那一部分,我們可以得到這個問題的答案。

   "Mounts": [
        {
            "Name": "test1",
            "Source": "/var/lib/docker/volumes/test1/_data",
            "Destination": "/soft",
            "Driver": "local",
            "Mode": "z",
            "RW": true
        }
    ],

可以看出,容器內的/soft目錄掛載的是宿主機上的/var/lib/docker/volumes/test1/_data目錄

原來,所謂的相對路徑指的是/var/lib/docker/volumes/,與宿主機的當前目錄無關.

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