docker --mount error: ContainerSpec: "—-mount" не является допустимым хранилищем / тегом

Я хотел бы использовать том с узлом Docker Swarm, поэтому я хотел бы перевести эту команду no-swarm, которая использует том:

 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, и посмотрите примеры в документации Docker. Также я думаю, что -e следует удалить, так как вы не используете переменные окружения.

Попробуйте с:

docker service create --mount 'type=bind,src=/tmp/postgres,dst=/var/lib/postgresql/data,readonly' --name dev -d --constraint 'node==/swarm1/'  postgres
Другие вопросы по тегам