2017-12-22 25 views
0

볼륨을 docker swarm 노드와 함께 사용하고 싶습니다. 볼륨을 사용하는 no-swarm 명령을 번역하고 싶습니다. 이 떼 명령에docker --mount error : ContainerSpec : "--mount"가 유효한 저장소/태그가 아닙니다.

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

가 :

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 어쩌면 내가 틀렸다하지만 그건 그래서 나는이 --mount 명령과 함께 온 이유 떼 볼륨을 허용하지 않는 것을 생각하지만, 그것도 받아들이지 않을거야. 어떤 도움을 주셔서 감사합니다.

답변

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