Machine: إن بيئة عامل ميناء-آلة بطيئة

تم إنشاؤها على ١٩ سبتمبر ٢٠١٥  ·  5تعليقات  ·  مصدر: docker/machine

لم أتمكن من العثور على تذكرة مفتوحة بخصوص هذه المشكلة ، لكن أعتقد أنني لست الوحيد الذي يعاني من هذه المشكلة؟

$ uname -a
Darwin 14.5.0 Darwin 
Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; 
root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64
$ time docker-machine env dev >/dev/null

real    0m0.254s
user    0m0.217s

.. لذا فإن وجود eval $(docker-machine env dev) في ملف bash_profile ليس بالأمر الممتع.

الحل 1: الكود الثابت للتصدير

$ docker-machine env dev >> ~/.bash_profile

الحل البديل 2: إصلاح التحميل البطيء جدًا

# Lazy load docker-machine env on first docker run
alias docker='docker-machine start dev>/dev/null && eval $(docker-machine env dev) && unalias docker && docker'

التعليق الأكثر فائدة

انتهى بي الأمر بهذا ، فهو يعمل في 0.040 بالنسبة لي.

: ${DOCKER_MACHINE_NAME="my_vm_name"}

docker-machine inspect ${DOCKER_MACHINE_NAME} --format \
"export DOCKER_HOST=tcp://{{ .Driver.IPAddress }}:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH={{ .HostOptions.AuthOptions.StorePath }}
export DOCKER_MACHINE_NAME=${DOCKER_MACHINE_NAME}"

ال 5 كومينتر

إنه أصعب مما يبدو أن تجعله سريعًا ، حيث يتعين عليك بالفعل البحث عن عنوان IP الخاص بالجهاز الظاهري المعني (وإعادة إنشاء الشهادات إذا تم إبطالها). إذا كنت على استعداد لقبول مقايضة التناسق ، فقد تتمكن من إنشاء نسختك الخاصة باستخدام القيم "المخزنة مؤقتًا" بواسطة inspect ، لكن لا يمكنني ضمان أن ذلك سيعمل إلى الأبد.

سأغلق هذا لأنني لا أستطيع التفكير في طريقة لتحسين الطريقة الحالية دون التضحية بالاتساق ، ولكن لا تتردد في فتح مشكلة جديدة مع اقتراحات حول كيفية تحسين الطريقة ، على سبيل المثال docker-machine env --cached dev لاستخدام القيم "المخزنة مؤقتًا".

لست على دراية بآلة الرصيف ، لذلك من الصعب التوصل إلى اقتراح. أردت فقط الإبلاغ عن المشكلة حتى يمكن مناقشتها :)

أنا أستخدم برنامج تشغيل vmwarefusion راجع للشغل.

شكرا على الإبلاغ ، ولاحظ!

انتهى بي الأمر بهذا ، فهو يعمل في 0.040 بالنسبة لي.

: ${DOCKER_MACHINE_NAME="my_vm_name"}

docker-machine inspect ${DOCKER_MACHINE_NAME} --format \
"export DOCKER_HOST=tcp://{{ .Driver.IPAddress }}:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH={{ .HostOptions.AuthOptions.StorePath }}
export DOCKER_MACHINE_NAME=${DOCKER_MACHINE_NAME}"
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات