Compose: Ошибка при монтировании пути к хосту с помощью Docker для Windows при использовании другого DOCKER_HOST

Созданный на 12 дек. 2016  ·  3Комментарии  ·  Источник: docker/compose

При использовании другого DOCKER_HOST , если вы не установите COMPOSE_CONVERT_WINDOWS_PATHS=0 , любое монтирование, указанное в файле docker-compose, завершится ошибкой:

ERROR: for db Cannot create container for service db: create <volume>: "<volume>" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed ERROR: Encountered errors while bringing up the project.

Это действительно сбивает с толку. Раньше это работало нормально.
Я использую 1.9.0 build 2585387 .
DOCKER_HOST установлен на удаленный сервер Linux.
Объемы:

yml volumes: - /opt/data/foo/html/:/var/www/html

Работает, только если задано значение COMPOSE_CONVERT_WINDOWS_PATHS=0 или значение COMPOSE_CONVERT_WINDOWS_PATHS=1 . Другими словами, это не сработает, только если COMPOSE_CONVERT_WINDOWS_PATHS не установлено.

В версии 1.9.0 вы упоминаете, что:

При использовании Compose с Docker Toolbox / Machine в Windows пути к томам больше не преобразуются из C: \ Users в / c / Users-style по умолчанию. Чтобы повторно включить это преобразование, чтобы ваши тома продолжали работать, установите переменную среды COMPOSE_CONVERT_WINDOWS_PATHS = 1. Это не касается пользователей Docker для Windows, и им не нужно устанавливать переменную.

Последняя часть Users of Docker for Windows are not affected and do not need to set the variable не соответствует действительности.

grouwindows-client

Самый полезный комментарий

Похоже, мы должны установить это в нашем ~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1

...
$Env:COMPOSE_CONVERT_WINDOWS_PATHS=1
...

Все 3 Комментарий

Спасибо за доклад.

Ваш DOCKER_HOST указывает на удаленный сервер Linux?
И когда вы видите ошибку, ваша переменная COMPOSE_CONVERT_WINDOWS_PATHS установлена ​​или какое значение ей присвоено?
Наконец, что произойдет, если вместо COMPOSE_CONVERT_WINDOWS_PATHS установить 1 ?

@ shin- Да, DOCKER_HOST указывает на удаленный сервер Linux.
Ошибка возникает, когда COMPOSE_CONVERT_WINDOWS_PATHS не задано. Когда я устанавливаю его на COMPOSE_CONVERT_WINDOWS_PATHS=0 (в powershell $env:COMPOSE_CONVERT_WINDOWS_PATHS=0 ), он работает.
Раньше я не пробовал, но COMPOSE_CONVERT_WINDOWS_PATHS=1 тоже работает. Иди разбери ...
Итак, резюмируя, он терпит неудачу только тогда, когда COMPOSE_CONVERT_WINDOWS_PATHS не установлено. Обновлю описание проблемы.

Похоже, мы должны установить это в нашем ~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1

...
$Env:COMPOSE_CONVERT_WINDOWS_PATHS=1
...
Была ли эта страница полезной?
0 / 5 - 0 рейтинги