【问题标题】:invalid argument for "--mount" flag: unexpected key 'addr'“--mount”标志的无效参数:意外键“addr”
【发布时间】:2023-03-25 16:48:01
【问题描述】:

我想使用 docker nfs 卷。

我尝试过的:

1.先创建一个volume再使用就可以了

docker volume create --driver local --opt type=nfs --opt o=nfsvers=4,addr=10.192.244.109 --opt device=:/var/lib/lava/dispatcher/tmp my1
docker run -it --rm --name nfs-test -v my1:/data alpine sh

2。 docker run的时候直接用音量,也可以

docker run -it --rm --name nfs-test --mount type=volume,volume-driver=local,dst=/data,volume-opt=type=nfs,volume-opt=device=:/var/lib/lava/dispatcher/tmp,"volume-opt=o=addr=10.192.244.109" alpine sh

当我想在docker run中指定nfsvers=4时出现问题:

# docker run -it --rm --name nfs-test --mount type=volume,volume-driver=local,dst=/data,volume-opt=type=nfs,volume-opt=device=:/var/lib/lava/dispatcher/tmp,"volume-opt=o=nfsvers=4,addr=10.192.244.109" alpine sh
invalid argument "type=volume,volume-driver=local,dst=/data,volume-opt=type=nfs,volume-opt=device=:/var/lib/lava/dispatcher/tmp,volume-opt=o=nfsvers=4,addr=10.192.244.109" for "--mount" flag: unexpected key 'addr' in 'addr=10.192.244.109'
See 'docker run --help'.

你可以看到Item1表示我们可以在使用nfs卷时指定nfs version,而Item2表示我们可以直接在docker run中使用nfs卷而不需要预先创建卷。

但是,当直接使用docker run 时,如何指定nfs version?这里的正确格式是什么?

【问题讨论】:

    标签: docker nfs


    【解决方案1】:

    这对我有用:

    --mount 'type=volume,dst=/data,volume-driver=local,volume-opt=type=nfs,volume-opt=device=:/var/lib/lava/dispatcher/tmp,"volume-opt=o=addr=10.192.244.109,rw,nfsvers=4"'
    

    似乎参数解析器对引号很挑剔。 然后它被解析为一个额外的参数。 或者,您可以使用 ..,volume-opt=o=nfsvers=4,volume-opt=o=addr=10.192.244.109

    【讨论】:

    • 太好了,single quotes 创造了奇迹,谢谢!虽然在我的item2 中我不需要它,但如果添加更多选项,看起来我们真的需要single quotes
    猜你喜欢
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    相关资源
    最近更新 更多