Windows 10, сборка 15063.11, под управлением Windows Subsystem для Linux (WSL) Xenial 16.04.2 LTS.
В WSL работает докер-клиент, подключающийся к демону Windows Hyper-V. Веселье.
Единственная проблема, от которой я не могу избавиться, - это сопоставление путей между WSL и демоном Hyper-V для томов - из файлов компоновки. Предполагается, что файлы Compose должны быть кроссплатформенными - все они относительны, и если я начну просто менять compose.yml
чтобы он соответствовал моему чудовищному WSL, сервисы не запустятся нигде больше, что не совсем практично.
Есть ли что-то вроде export MSYS_NO_PATHCONV=1
которое я могу сделать, чтобы WSL прекратил искажение путей перед их отправкой демону?
Где эта проблема должна быть решена? В демоне? В сочинении? в WSL? куда я могу внести свой вклад?
Отображения томов вне компоновочных файлов работают прекрасно, потому что вы можете указать их абсолютно и в правильном формате, когда вы передаете их клиенту / демону.
Например, docker run -v c:/my/stuff/is/here:/vars/now/here magicImage
изнутри WSL работает фантастически. Просто составить - получить абсолютные имена файлов из WSL, которые на самом деле не являются именами файлов, например, /mnt/c/my/stuff/isnt/here
потому что во вселенной демона Hyper-V /mnt/c/
- нонсенс.
продолжение: обратился к докеру / сочинить. docker-compose
вызывает os.path.abspath
для разрешения абсолютных путей к ресурсам, поэтому, скорее всего, проблема заключается в использовании Microsoft / BashOnWindows.