Docker-compose том верхнего уровня не может найти путь - PullRequest
0 голосов
/ 31 мая 2018

У меня есть довольно простая настройка docker-compose, которая работает на моем коллегном компьютере (*) , но по какой-то непонятной причине она не работает на моем.

Вотmy docker-compose.yml

version: '3.3'
services:

    ... there are other services that are starting successfully ...

    reporting:
      image: microsoft/dotnet:2.0-runtime
      hostname: reporting
      container_name: reporting
      volumes:
        - publish-output:/app
        command: dotnet /app/MocksGenerator.dll -s ${MSNAME_R} -p ${MSPORT_R} -c http://${CHOST} -m http://${MBHOST}${MSNAME_R}:${MBPORT}
        networks:
          - consul
        links:
          - mbreporting
          - consul
          - fabio
        depends_on:
          - mbreporting
          - consul
          - fabio
networks:
  consul:

volumes:
  publish-output:
    driver: local
    driver_opts:
      device: /mnt/d/Repositories/microservices.mocking/docker/PublishOutput
      o: bind

Что я получаю как ошибку от docker-compose, когда пытаюсь запустить его с помощью "docker-compose up".

ОШИБКА: дляСоздание отчетов не может запустить службу отчетов: ошибка при подключении тома '/ var / lib / docker / volume / betsreporting_publish-output / _data': ошибка при подключении тома с параметрами: type = '' device = '/ mnt / d / Репозитории / микросервисы.mocking / docker / PublishOutput 'o =' bind ': нет такого файла или каталога

Запуск ls -la /mnt/d/Repositories/microservices.mocking/docker дает

drwxrwxrwx 0 root root 4096 May 30 16:12 PublishOutput

Так что каталог хоста существует наверняка, но docker-compose не может найти его по какой-то причине.Почему?

(*) Мой коллега использует том типа bind, я пытался с этим, тоже не работал по той же причине, поэтому я решил изменить тип тома, но, похоже, корень проблемы в том, что docker-compose не может найти каталог хоста.

1 Ответ

0 голосов
/ 31 мая 2018

После сброса запроса о совместном использовании учетных данных демона Docker для окна устройства, а затем после повторного совместного использования диска он снова начал работать, даже если ранее к нему также был предоставлен общий доступ.Я подозреваю, что совместное использование диска в Docker не относится к каталогам, созданным ПОСЛЕ общего доступа (таким образом, было необходимо повторное совместное использование), но я не совсем уверен, проверим это с ребятами из механизма докеров.

Еще одна вещьЯ также пытался запустить его из подсистемы Linux в Windows, и это не сработало, я подозреваю, что снова разрешения подсистемы Linux и Windows могут не совпадать, или в модуле докера может быть ошибка, даже если ошибка повторного обмена сохраняетсяпоэтому мне пришлось запустить его из Powershell.

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