Machine: آلات التصدير / الاستيراد

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

يجب أن يعمل شيء كهذا لنقل الآلات:

 $ machine export test | ssh anotherhost machine import

(ربما يمكننا استخدام machine inspect ؟)

kinenhancement

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

عند إنشاء جهاز ، يمكنك استخدامه فقط وإدارته من جهاز كمبيوتر واحد. قد ترغب في:

1) نسخ احتياطي للمضيفين
2) نقلها إلى كمبيوتر آخر
3) مشاركتها مع أحد أعضاء الفريق

ال 67 كومينتر

ما هو المكسب من هذا؟ الهدف من استخدام الآلة من وجهة نظري هو إعداد آلة بسيطة بها عامل إرساء (بدون أشياء فاخرة أو أشياء مخصصة). مع أخذ ذلك في الاعتبار ، فإن إنشاء أو تصدير-> استيراد آلة هو نفسه تمامًا ولا يعطيني أي فائدة.

عند إنشاء جهاز ، يمكنك استخدامه فقط وإدارته من جهاز كمبيوتر واحد. قد ترغب في:

1) نسخ احتياطي للمضيفين
2) نقلها إلى كمبيوتر آخر
3) مشاركتها مع أحد أعضاء الفريق

هل يجب أن يكون لدينا الأمر drop حتى نتمكن من إزالة الجهاز من القائمة دون إنهائه؟ أعتقد أنه قد يكون مفيدًا بعد تصدير بعض الأجهزة ونقلها إلى كمبيوتر آخر.

ماذا سيحتوي الملف المحفوظ بالضبط؟ بمعنى آخر؛ هل سيحتوي على رمز للاتصال بالبرنامج الخفي؟

من الناحية المثالية ، يجب أن يكون هناك شيء ما لإدارة أجهزة الكمبيوتر / الأشخاص للوصول إلى المضيف. التفكير على غرار رمز لمرة واحدة يمكن أن يكون لتوصيل كمبيوتر جديد بمضيف موجود.

bfirshwaitingkuo يبدو أن هذه ميزة مفيدة حقًا سنستخدمها في Rancher (نود استخدام جانب الخادم).

أي سبب من الأسباب يبدو أن التنفيذ (رقم 29) قد توقف. أي شيء يمكن أن أفعله لمحاولة الهيب؟

+1 سيكون رائعًا

+1

+1

+1

لقد أنشأنا أداة نستخدمها بأنفسنا ، لتسهيل تصدير آلات الرصيف. يقوم أساسًا بتصدير جميع مفاتيح الشهادات ssh. نرحب بالتعليقات!

https://github.com/blackbeardapp/docker-machine-export

قد يكون مبالغة ولكن شيئًا ما مثل تسجيل جهاز الرصيف سيكون رائعًا!

حاليًا نحن نستخدم git repo لمشاركة إعدادات عامل الإرساء ، المشكلة هي أن البعض منا لديه أجهزة Virtualbox وهذا هو الجانب السلبي

kevinsimper كيف يمكنك استيرادها مرة أخرى؟

هل تتضمن هذه المشكلة فكرة مشاركة مجموعات الأسراب بين المطورين؟

saada أعتقد أنه يغطي فقط مشاركة بيانات الاعتماد ، وليس تكوين المجموعة.
سيكون من الرائع أن يكون لديك هذه القدرة في الآلة.
لا أعرف حاليًا سوى https://github.com/efrecon/machinery و https://github.com/nathanleclaire/moby

+1

أنا أبحث عن القدرة على مشاركة الجهاز بين المستخدمين في نفس المضيفين.
وهل هناك حل لهذا؟ أقوم بنسخ المجلد ~/.docker/machine/ بالكامل في الوقت الحالي

+1

+1

+1

+1

+1

+1

+1

+1

+1

أعتقد أن أفضل طريقة لإظهار نيتك هي النقر على Subscribe (في إشعارات الجانب الأيمن)

لقد قمت بكتابة نص استيراد / تصدير يمكنك استخدامه في الوقت الحالي حتى يتم تنفيذ هذه الميزة محليًا. أتمنى أن يساعدك هذا :)

https://gist.github.com/schickling/2c48da462a7def0a577e

schickling ربما شيء يمكن إضافته إلى دليل "Contrib" في هذا المستودع؟ https://github.com/docker/machine/tree/master/contrib/completion

لسوء الحظ ، ليس لدي الوقت الكافي للقيام بذلك ولكن لا تتردد في سحبها هناك!

+1

+1

+1

لقد كتبت أداة أخرى صغيرة لتصدير / استيراد آلات عامل الإرساء. نحن نستخدم هذا لنشر CI الخاص بنا. https://www.npmjs.com/package/@mumbacloud/dmport

شكرًا لك على kevinsimper لـ https://github.com/blackbeardapp/docker-machine-export لقد استخدمت فكرتك للتصدير كـ JSON ، مما يجعلها محمولة تمامًا لبيئات CI.

لقد بدأت أيضًا في العمل على بعض البرامج النصية للتصدير / الاستيراد ، وهو ما لا أفهمه حقًا سبب وجود بعض الملفات المكررة في certs ومجلد الجهاز المحدد machines/<myMachine> . أيضًا بعد ضبط المسارات في config.json لبعض المسارات المخصصة خارج .docker/machine/machines... لاحظت أن عامل التحميل لا يزال يتوقع وجود بعض الشهادات / pems / المفاتيح في هذا المجلد

هل يمكن لأي شخص أن يوصي ببعض الوثائق حول ما يجب أن يكون في الواقع؟

يبدو أن مطوري Node.js يستخدمون هذا بنشاط (ويعيدون كتابة الحلول الخاصة). هذا الذي وجدته عبر Twitter

https://www.npmjs.com/package/machine-share

مشاركة تكوين Docker Machine:

npm install -g machine-share
machine-export <machine-name>
machine-import <machine-name>.zip

تحتوي حزمة العقدة نفسها (كما ذكر من قبل StefanScherer ) على برامج نصية للقذيفة أيضًا إذا لم يكن لديك Node مثبتًا.

https://github.com/bhurlow/machine-share/blob/master/export.sh
https://github.com/bhurlow/machine-share/blob/master/import.sh

هذا حل بديل ، ومع ذلك ، يجب أن يتعامل عامل الإرساء مع هذا وأن يوفر بشكل مثالي شهادة فريدة لكل مطور / مستخدم (لذلك من الممكن الإلغاء).

المشكلة التي أواجهها مع البرامج النصية الحالية للتصدير / الاستيراد هي أنها ستستبدل الملفات الموجودة في ~/.docker/machine/certs ، أليس كذلك؟

يمكنني التحدث فقط عن dmport ، وسوف يقوم بالكتابة فوق الملفات إذا كانت موجودة.

انها ليست مشكلة بالنسبة لنا على الرغم من أننا نستخدمه في عامل ميناء ci ذلك
ليس لديه أي شيء للكتابة فوقه لأنه حاوية جديدة في كل منها
نشر.

أخطط لتنظيف dmport قريبًا يمكنني إضافة علامة تمنع
الكتابة فوق الملفات الموجودة إذا كان ذلك سيساعد
في 1 حزيران (يونيو) 2016 ، الساعة 1:54 صباحًا ، كتب "Max Bruchmann" [email protected] :

المشكلة التي أواجهها مع البرامج النصية الحالية للتصدير / الاستيراد هي أنها
سوف تستبدل الملفات الموجودة في ~ / .docker / machine / certs ، أليس كذلك؟

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/docker/machine/issues/23#issuecomment -222932695 ، أو كتم الصوت
الخيط
https://github.com/notifications/unsubscribe/ADIV-3T7FEa9CJvn_UdTb9AeQfwI3lkCks5qHUjegaJpZM4DFGT5
.

+1

نحن نستخدم حاوية عامل إرساء لهذه المهمة - وماذا أيضًا

الفكرة هي أيضًا أن يكون لديك نفس البيئة (على سبيل المثال ، مسارات تكوين الشهادة) لجميع المستخدمين ، مثبتة كوحدة تخزين مضيفة. يمكنك استخدام docker-machine ، docker-compose و docker في الحاويات التي تم إنشاؤها من roj. ويمكنك تمرير مجلد البيانات كرمز مضغوط عبر البريد الإلكتروني أو وضعه في مستودع git خاص.

+1

لست متأكدًا من أن حالة الاستخدام الخاصة بي هي نفسها مثل غيرها - لقد قمت بإنشاء جهازين مختلفين لأغراض مختلفة وأريد إجراء نسخ احتياطي لوجودهم وتكوينهم (الثانوي). أفضل أن يكون لدي بعض الملفات النصية البسيطة التي تُستخدم لإعادة إنشاء المربعات.

لا يبدو أن https://www.npmjs.com/package/machine-share يحترم MACHINE_STORAGE_PATH. يقوم البرنامج النصي الخاص بـ schickling بعمل نسخ احتياطي لملفات ثنائية كبيرة (مثل boot2docker.iso) https://www.npmjs.com/package/@mumbacloud/dmport ألقى بعض الأخطاء.

نريد أيضًا هذه الوظيفة ، لقد أنشأنا آلة على gcloud باستخدام آلة الإرساء للتطوير وأريد السماح لزملائي في العمل بالتنفيذ في الحاوية وعرض السجلات.

أنا مندهش حقًا أن هذا غير مدعوم بالفعل. المثال الخاص بي هو أنني أنشأت مجموعة سرب عامل إرساء في Azure من الكمبيوتر المحمول الخاص بي (دون التفكير في ذلك طوال الطريق) والآن أريد أن يتمكن مطورو البرامج الآخرون من إدارة المجموعة ، لذلك قمت بإنشاء VM مشترك في Azure يمكن للجميع مشاركته. لقد قمت بتثبيت آلة الإرساء وأحتاج الآن إلى طريقة لاستيراد الأجهزة من الكمبيوتر المحمول الخاص بي إلى صندوق القفز في Azure.

jcrben مرحبًا ، ماذا عن نشر عدد كامل على مشاركة الآلة ، بخصوص MACHINE_STORAGE_PATH؟

لقد راجعت مؤخرًا عمل bhurlow ، ويساورني الفضول لمعرفة ما إذا حدث شيء ما

jcrben هل https://github.com/dmstr/docker-roj؟ ... أنا مجرد فضول.

الناس ، من أجل حب كل الأشياء المناسبة ، من فضلك 👍 OP وليس كتعليق منفصل. يؤدي استخدام "+1" للمحتوى غير المرغوب فيه إلى تشتيت الانتباه عن المحادثة.

لمعلوماتك: # 3212

lnshi أعتقد أن مشكلة استيراد خادم عامل ميناء حالي باستخدام docker-machine create -d generic ... ، هو أنه يعيد إنشاء الشهادات ويعيد تشغيل Docker ، لذا فهو غير مناسب لسيناريو الإنتاج / العمل الجماعي.

أعلم أن
في الوقت الحالي لا أعتقد أن هناك حلًا مناسبًا بعد.

لا يزال ntwrkguru ، يجعل المشكلة ذات صلة

يبلغ عمر هذه المشكلة 4 سنوات تقريبًا ، وأشك في أن بعض تعليقات +1 الإضافية ستؤدي فجأة إلى جعلها أولوية.

ntwrkguru طالما أن

الآن ، لا أعرف كيف يعطي فريق عامل النقل الأولوية للمشكلات ، لكنني أراهن أن لديهم أيضًا عملاء يدفعون ، وهو ما أراهن أنه سيأتي دائمًا أولاً قبل النظر في طلبات ميزات المجتمع العام.

نفس الشيء: https://github.com/docker/machine/issues/1328 ؟

لقد اعتدت للتو على عامل الإرساء وأنشأت أول مضيف باستخدام آلة الرصيف. الآن بعد يوم واحد ، أحاول الاتصال بمضيف عامل الإرساء الخاص بي باستخدام محطة عمل مختلفة ... فوجئت برؤية أن هذا غير ممكن ، على الأقل ليس بدون بعض الصداع الكبير. يبدو وكأنه ميزة أساسية للسماح للفرق بإدارة المضيفين ...

ذلك لأن آلة الرصيف لم يتم تصميمها أبدًا لتكون أداة جماعية. هذا يعني أن يقوم الفرد بسهولة بإنشاء VM's docker التثبيت التلقائي وإعداد شهادات TLS dockerd لإدارة cli عن بُعد.

إذا كنت تحاول إنشاء ونشر بيئات عامل الإرساء للفرق ، فمن المحتمل أنك تريد استخدام أداة مختلفة.

BretFisher وما هي الأدوات التي ستكون؟ لا يعني ذلك أنني أريد استخدامه للفرق ، فقط من 3 محطات عمل مختلفة ...

تتمثل إحدى الفوائد الكبيرة لآلة الرصيف في أنها تقوم بإعداد TLS على محرك عامل الإرساء لإدارة cli عن بُعد.

اليوم تم إصدار Docker Engine 18.09 ومعها ميزة جديدة رائعة تتيح إدارة cli عن بُعد باستخدام نفق SSH (من نوع ما) وهي طريقة أفضل بكثير IMO لأولئك منا دون الحاجة إلى محرك RBAC الكامل. بالنسبة لأولئك الذين يستخدمون آلة الإرساء لتسهيل الإدارة عن بُعد ، أوصي بالتحقق من ذلك في 18.09. يجب أن يكون كل من خادم Docker والعميل على 18.09 ، وطالما يمكنك دخول SSH ، يمكنك استخدام cli عن بُعد.

كابتن عامل السفن لوك جوغري لديه كتابة سريعة حول هذا الموضوع . أتوقع أن تصبح طريقتي الافتراضية لاستخدام عامل الإرساء عن بُعد.

أحصل على ما تقوله BretFisher ، لكن سيكون من الجيد الحصول عليه في آلة

تشمل خيارات adilinden لمستخدم واحد ما يلي:

  1. مزامنة ~/.docker/machine/machines بين تلك الأجهزة في مستودع git خاص و / أو مشفر. قد تحتاج أيضًا إلى ~/.docker/machine/certs أيضًا ، لست متأكدًا. يجب أن يكون آمنًا بشكل معقول لأنه يخزن الشهادات الخاصة.

  2. اختر AMI ، Droplet ، وما إلى ذلك ، والذي تم تثبيت عامل إرساء بالفعل ونشره. ثم استخدم ميزة 18.09 SSH الجديدة للتحكم عن بعد في محرك عامل الإرساء.

  3. جرب إحدى الأدوات العديدة التي تقوم بتصدير / استيراد أدلة بيانات الجهاز التي ذكرتها أعلاه.

BretFisher أنا معجب حقًا

الآن فقط لمعرفة كيفية الحصول على Docker لنظام التشغيل Mac إلى 18.09 بدلاً من 18.06.1-ce-mac73 (26764).

يعدntwrkguru docker -machine رائعًا للأجهزة التي تستخدم لمرة واحدة أو

في SSH ، لن تستخدم غير مرغوب فيه في هذه الحالة ، ما أقوله هو بمجرد نشر أي خادم عامل ميناء (غير مرئي أو غير ذلك) يعمل على 18.09+ ، طالما أن لديك إذن SSH لهذا الخادم ، فأنت يمكنه الآن فعل شيء مثل:

docker -H ssh://[email protected] run -p 80:80 nginx
أو
DOCKER_HOST=ssh://[email protected] docker system prune

للتحكم في هذا المحرك عن بعد دون أي تكوين أو إعداد خاص. تعد القدرة على تصدير envvar ثم تشغيل مجموعة من الأوامر ضد هذا المحرك (دون تغليفها في مكان غير مسموع ، وما إلى ذلك) أمرًا مفيدًا للغاية.

adilinden ، تم إسقاط إصدار Linux اليوم للتو ، لذا ستحتاج إلى منح الفرق بضعة أيام أو أسابيع لطرح جميع المنتجات النهائية التي تستخدمها :). إذا كنت تريد ذلك اليوم ، فاستخدم الإصدار الحافة الذي يحتوي على الإصدار التجريبي 18.09 ويعمل بشكل جيد بالنسبة لي على Mac.

من المسلم به أنني لم أعبث بآلة الرصيف منذ عدة سنوات. لدي 4 خوادم متبقية تعمل بمحرك Docker العادي.

إذن ، ما الفائدة بين docker -H ssh://[email protected] run -p 80:80 nginx و ssh://[email protected] docker run -p 80:80 nginx ؟

[عدل] عدم الجدل. أتساءل عما إذا كانت هناك فائدة واضحة.

ntwrkguru يمكنني docker -H ssh://[email protected] . . في حين أن نفس الفشل (كما هو متوقع) باستخدام ssh -luser 10.10.10.10 docker build .

للحصول على معلومات فقط ، يمكنك أيضًا استخدام ssh لإعادة توجيه المقبس. لكل https://medium.com/@dperny/forwarding-the-docker-socket-over-ssh-e6567cfab160 ، ولكن مع تعديل طفيف.

في جلسة واحدة تشغيل المحطة

ssh -nNT -L $(pwd)/docker.sock:/var/run/docker.sock -l user 10.10.10.10

في شوط آخر

docker -H "unix:///$(pwd)/docker.sock" run -p 80:80 nginx

أو

export DOCKER_HOST="unix:///$(pwd)/docker.sock"
docker run -p 80:80 nginx

واجهت نفس المشكلة وأنشأت برامج نصية من shell لإجراء النسخ الاحتياطي والاستعادة:
https://github.com/usr42/docker-machine-backup

فقط البيانات المطلوبة حقًا يتم نسخها احتياطيًا. على سبيل المثال ، لا توجد ملفات iso داخل النسخة الاحتياطية.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات