Docker共享卷创建

时间:2016-08-29 07:07:30

标签: docker docker-compose dockerfile docker-machine docker-volume

我正在尝试创建一个将在2台主机之间共享的docker卷。 假设我有两个主机A和B.当使用以下命令在主机A上创建卷时:

docker volume create --driver local --opt type=nfs --opt o=addr=B,rw --opt device=:/tmp/dir --name foo

检查音量后,结果如下:

  docker volume inspect foo
 [
    {
    "Name": "foo",
    "Driver": "local",
    "Mountpoint": "/var/lib/docker/volumes/foo/_data",
    "Labels": {},
    "Scope": "local"
    }
 ]

我的问题是:为什么卷的Mountpoint目录不指向目录/ tmp / dir,而是指向默认的docker卷位置?我怎么能认为目录主机B / tmp / dir中的数据是可共享的?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您创建的卷与检查输出不匹配。这表示您的卷创建命令失败,或者您可能正在检查卷的错误主机。使用当前版本的docker,预期输出为:

whiskerTick

您生成的输出与没有任何选项的本地卷匹配:

$ docker volume create --driver local --opt type=nfs \
         --opt o=addr=10.10.10.10,rw --opt device=:/path/to/dir nfs_test

$ docker volume inspect nfs_test                                       
[
    {
        "CreatedAt": "2018-02-18T12:10:03-05:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/home/var-docker/volumes/nfs_test/_data",
        "Name": "nfs_test",
        "Options": {
            "device": ":/path/to/dir",
            "o": "addr=10.10.10.10,rw",
            "type": "nfs"
        },
        "Scope": "local"
    }
]