Docker Compose Mounting Volume Error: нет такого файла или каталога - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь собрать простой контейнер Drupal с помощью docker-compose, но я получаю сообщение об ошибке при попытке смонтировать указанный том. Вот мой файл docker-compose.yml:

version: '2.1'
services:
    web:
        build: ./build
        image: "myrmidon16/drupal-base:latest"
        working_dir: "/var/www/html"
        volumes:
            - sites:/var/www/html/sites
        links:
            - "db"
        ports:
            - 8001:80
    db:
        image: "mysql:latest"
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - MYSQL_USER=root
            - MYSQL_PASSWORD=root
            - MYSQL_DATABASE=drupal-base
        volumes:
            - ".:/var/www/html"
        ports:
            - "3306"
    drush:
        image: "mparker17/mush"
        working_dir: "/var/www/html"
        volumes:
            - .:/var/www/html
        links:
            - "db"

volumes:
    sites:
        driver: local
        driver_opts:
            type: bind
            o: bind
            device: ${PWD}/sites

Но когда я запускаю docker-compose up -d, я получаю следующую ошибку, даже если каталог существует:

ERROR: for web Cannot create container for service web: error while mounting volume with options: type='bind' device='/mnt/f/Documents/sites' o='bind': no such file or directory

Я использую Docker для Windows Edge (18.05.0-ce-rc1) в Windows 10 Pro с Compose v 1.21.0. Я также разделяю диск F через Docker для Windows.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Спасибо.

Ответы [ 3 ]

0 голосов
/ 18 октября 2018

Это работает в Windows, но вы должны добавить начальный слеш к опции device, например,

docker volume create \
            --opt type=none \
            --opt o=bind \
            --opt device=/$(pwd)/grafana/dashboards \
            --name grafana_dashboards
0 голосов
/ 19 апреля 2019

В Windows вы не должны создавать тома в разделе тома. Одного в службе достаточно, чтобы создать монтирование в файловую систему Windows, если оно включено в: Докер-> Настройки-> Общие диски - весь диск и убедитесь, что вы нажимаете «Сбросить учетные данные», если вы измените пароль Windows

Путь c: \ Temp \ some_dir работает и текущая запись каталога (.) Я не уверен.

0 голосов
/ 20 июня 2018

В Windows локальный драйвер не поддерживает какие-либо параметры.Так что в ваших настройках docker-compose o:bind недопустим.

Согласно: Документация https://docs.docker.com/engine/reference/commandline/volume_create/#driver-specific-options

...