docker --mount错误:ContainerSpec:" - mount"不是有效的存储库/标记

时间:2017-12-22 00:29:52

标签: docker docker-swarm docker-volume

我想使用带有docker swarm节点的卷,所以我想翻译这个使用volume的no-swarm命令:

 docker run --name dev_db -v /tmp/postgres:/var/lib/postgresql/data -d postgres 

这个swarm命令:

docker service create —-mount 'type=bind,src=/tmp/postgres,dst=/var/lib/postgresql/data,readonly' -—name dev -d -e contraint:node==/swarm1/  postgres
Error response from daemon: rpc error: code = InvalidArgument desc = ContainerSpec: "—-mount" is not a valid repository/tag

问题在于,我认为AFAIK可能是我错了,但是swarm不接受音量,这就是为什么我想出这个--mount命令,但是它'}&#39}不接受它。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

Swarm确实支持装载卷,所以我认为这个问题只是你命令中的一个错字" - mount"应该是" - mount"。另外我认为你还有另一个错字,约束应该是约束,我不认为约束应该有效。如果要使用特定节点,例如node.hostname == nodename和have a look on the examples in Docker docs。另外我认为-e应该被移除,因为你没有使用环境变量。

尝试:

docker service create --mount 'type=bind,src=/tmp/postgres,dst=/var/lib/postgresql/data,readonly' --name dev -d --constraint 'node==/swarm1/'  postgres