Почему docker-compose создает исходный каталог в одном синтаксисе, а не в другом? - PullRequest
0 голосов
/ 14 октября 2019

Рассмотрим следующий код YAML в моем файле docker-compose.yml, который устанавливает монтирование тома (с использованием версии 3.7), используя краткий синтаксис формы , как указано в документации:

volumes:
    - ./logging:/var/log/cron

Это сопоставляет относительный путь logging на моем хост-компьютере с папкой /var/log/cron внутри контейнера. Когда я запускаю docker-compose up, если папка logging не существует на моем хост-компьютере, Docker создает ее. Все хорошо.

Теперь, если я изменю приведенный выше код на полный синтаксис :

volumes:
    - type: bind
      source: ./logging
      target: /var/log/cron

Теперь, когда я запускаю docker-compose up, он НЕ создаетПапка logging, если она не существует на моем хост-компьютере. Я получаю

Cannot create container for service app: b'Mount denied:\nThe source path "C:/Users/riptusk331/logging"\ndoesn\'t exist and is not known to Docker'

Кто-нибудь знает, почему синтаксис краткой формы создает путь к хосту, если он не существует, а длинная форма не создает и выдает ошибку?

Использование Docker Desktop для Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...