При использовании другого 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
не соответствует действительности.
Спасибо за доклад.
Ваш 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
...
Самый полезный комментарий
Похоже, мы должны установить это в нашем
~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1