Пример создания "Приступая к работе" в докере вызывает "Недопустимая спецификация тома" в Windows

Я абсолютно новый для Докера. Я выполнил шаги, описанные в учебнике Docker Compose "Начало работы" :

  • Установить панель инструментов Docker
  • Запустить терминал быстрого запуска Docker
  • Добавить файлы проекта
  • Запустить команду docker-compose up

И я получил следующую ошибку:

ERROR: for web  Cannot create container for service web: Invalid bind mount spec "D:\\Projects\\composetest:/code:rw": Invalid volume specification: 'D:\Projects\composetest:/code:rw'
[31mERROR[0m: Encountered errors while bringing up the project.

докер-compose.yml:

version: '2'
services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code:rw
  redis:
    image: "redis:alpine"

Структура проекта:

D:\Projects\composetest
  ├── app.py
  ├── docker-compose.yml
  ├── Dockerfile
  └── requirements.txt

Моя конфигурация:

  • Windows 10 Single Language
  • Docker Toolbox 1.12.5

Почему это происходит? Есть ли способ обхода?

Ответы

Ответ 1

Я нашел решение. Проблема в том, что я не задал переменную окружения COMPOSE_CONVERT_WINDOWS_PATHS. Он описан в переменных CLI doc.

Итак, если эта проблема существует, вы должны создать новую переменную среды Windows под названием COMPOSE_CONVERT_WINDOWS_PATHS и установить ее в 1. Или вы можете создать файл .env на пути docker-compose.yml, размещенный со следующим содержимым:

 COMPOSE_CONVERT_WINDOWS_PATHS=1

Он решит эту проблему.