गैर-इंटरनेट-कनेक्टेड मशीन में स्थानांतरण के लिए डॉकर छवि डाउनलोड करना

मैं एक ऐसे कार्यालय में काम कर रहा हूं जहां मेरा लैपटॉप इंटरनेट से जुड़ा हुआ है, लेकिन कसकर नियंत्रित है । मुझे इस पर अनधिकृत सॉफ़्टवेयर स्थापित करने की अनुमति नहीं है ।

मेरा विकास कार्य केंद्र मेरा है जैसा मैं चाहता हूं, लेकिन इसमें इंटरनेट कनेक्शन नहीं है ।

क्या मेरे लिए हब से डॉकर छवियों को एक फ़ाइल के रूप में डाउनलोड करने का कोई तरीका है जिसे मैं अपने देव वर्कस्टेशन पर स्नीकर-नेट कर सकता हूं? इसी तरह मैं आरपीएम या रूबी रत्न कैसे डाउनलोड कर सकता हूं और उन्हें सीडी में जला सकता हूं? या 'डॉकर पुल' कमांड का उपयोग करके छवियों को डाउनलोड करने का एकमात्र तरीका है?

कम: का उपयोग करें 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

आशा है कि यह किसी और की मदद करता है!