Compose: حدث خطأ عند تحميل مسار المضيف باستخدام Docker for Windows عند استخدام DOCKER_HOST مختلف

تم إنشاؤها على ١٢ ديسمبر ٢٠١٦  ·  3تعليقات  ·  مصدر: docker/compose

عند استخدام DOCKER_HOST ، ما لم تقم بتعيين COMPOSE_CONVERT_WINDOWS_PATHS=0 ، فإن أي تحميل تحدده في ملف إنشاء عامل الإرساء الخاص بك سوف يفشل مع:

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 with Docker Toolbox / Machine على نظام التشغيل Windows ، لن يتم تحويل مسارات وحدة التخزين من C: \ Users إلى / c / Users-style افتراضيًا. لإعادة تمكين هذا التحويل حتى تستمر وحدات التخزين في العمل ، قم بتعيين متغير البيئة COMPOSE_CONVERT_WINDOWS_PATHS = 1. لا يتأثر مستخدمو Docker for 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 (في بوويرشيل $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 التقييمات