2

我正在尝试创建一个将在 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 中的数据是可共享的?

提前致谢!

4

1 回答 1

0

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

$ 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"
    }
]

您生成的输出与不带任何选项创建的本地卷匹配:

$ docker volume create foo

$ docker volume inspect foo
[
    {
        "CreatedAt": "2018-02-18T12:10:51-05:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/home/var-docker/volumes/foo/_data",
        "Name": "foo",
        "Options": {},
        "Scope": "local"
    }
]
于 2018-02-18T17:13:50.470 回答