تحميل صورة عامل الميناء لنقلها إلى جهاز غير متصل بالإنترنت

أنا أعمل في مكتب حيث جهاز الكمبيوتر المحمول متصل بالإنترنت ، ولكن يتم التحكم فيه بإحكام. لا يسمح لي بتثبيت برنامج غير مصرح به عليه.

بلدي محطة العمل التنمية هو لي أن تفعل مع كما يحلو لي ، ولكن ليس لديها اتصال بالإنترنت.

هل هناك أي طريقة بالنسبة لي لتحميل الصور عامل الميناء من المحور كملف أن أتمكن من ثم حذاء صافي لمحطة العمل ديف بلدي? على غرار كيف يمكنني تحميل اللفات في الدقيقة أو الأحجار الكريمة روبي ونسخها على قرص مضغوط? أو هو السبيل الوحيد لتحميل الصور باستخدام' سحب عامل الميناء ' الأمر?

باختصار: استخدم ال save قيادة المبادرة القطرية.

https://docs.docker.com/engine/reference/commandline/save/


يمكنك سحب الصورة على جهاز كمبيوتر يمكنه الوصول إلى الإنترنت.

sudo docker pull ubuntu

ثم يمكنك حفظ هذه الصورة في ملف

sudo docker save -o ubuntu_image.docker ubuntu

نقل الملف على الكمبيوتر دون اتصال (أوسب / سد / أيا كان) وتحميل الصورة من الملف:

sudo docker load -i ubuntu_image.docker

(على الإصدارات القديمة كان هذا فقط docker load image.docker، انظر التعليقات لمزيد من المعلومات.)

أدرك أن هناك بالفعل إجابة مقبولة, ومع ذلك أردت أن أقدم هذا الحل الذي أعتقد أنه يعالج بشكل مباشر السؤال المطروح: "كيف يمكنني تنزيل صورة عامل ميناء دون استخدام عامل ميناء لإجراء الاسترجاع?"

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

لحسن الحظ, لقد وجدت هذا الإجابة على ستاكوفيرفلوو ، التي توصي باستخدام أداة مفيدة التي تقدمها سامالبا في جيثب: https://github.com/samalba/docker-registry-debug

وبطبيعة الحال ، كان من المفترض أن يتم بناء هذه الأداة باستخدام عامل الميناء ، وجزء من السبب أنا في حاجة إليها هو لأنني لم يكن لديك الوصول المفتوح إلى عامل الميناء :). لذلك ، نظرا لأنه لم يكن لدي هذا الخيار ، سأوضح الخطوات التي اتخذتها هنا (كل هذا اعتبارا من الالتزام 05 إف إف سي 4344 إف دي 6 إف 866 إف 84 سي 403 كاي3با 81193 دي 45 من هذا الريبو):

$ go get github.com/dustin/go-humanize$ go build$ ./docker-registry-debug --help$ ./docker-registry-debug curlme docker ubuntu

إخراج هذا الأمر هو سطر الأوامر حليقة كاملة التي يمكن استخدامها لتحميل الملف:

# Reading user/passwd from env var "USER_CREDS"# No password provided, disabling auth# Getting token from https://index.docker.io# Got registry endpoint from the server: https://registry-1.docker.io# Got token: signature=e145911c2e458b3842e4e92c90bbf5bf2c17bd56,repository="library/docker",access=readcurl -i --location-trusted -I -X GET -H "Authorization: Token signature=e145911c2e458b3842e4e92c90bbf5bf2c17bd56,repository="library/docker",access=read" https://registry-1.docker.io/v1/images/ubuntu/layer

آمل أن يساعد هذا شخص آخر!