प्रॉक्सी के पीछे डॉकर चित्र डाउनलोड नहीं कर सकते


330

मैंने अपने उबंटू 13.10 (सॉसी समन्दर) पर डॉकर स्थापित किया और जब मैं अपने कंसोल में टाइप करता हूं:

sudo docker pull busybox

मुझे निम्नलिखित त्रुटि मिलती है:

Pulling repository busybox
2014/04/16 09:37:07 Get https://index.docker.io/v1/repositories/busybox/images: dial tcp: lookup index.docker.io on 127.0.1.1:53: no answer from server

डॉकर संस्करण:

$ sudo docker version

Client version: 0.10.0
Client API version: 1.10
Go version (client): go1.2.1
Git commit (client): dc9c28f
Server version: 0.10.0
Server API version: 1.10
Git commit (server): dc9c28f
Go version (server): go1.2.1
Last stable version: 0.10.0

मैं बिना किसी प्रमाणीकरण के प्रॉक्सी सर्वर के पीछे हूँ, और यह मेरी /etc/apt/apt.confफाइल है:

Acquire::http::proxy "http://192.168.1.1:3128/";
Acquire::https::proxy "https://192.168.1.1:3128/";
Acquire::ftp::proxy "ftp://192.168.1.1:3128/";
Acquire::socks::proxy "socks://192.168.1.1:3128/";

मैं क्या गलत कर रहा हूं?


6
विंडोज उपयोगकर्ताओं और बूट 2 डॉक के लिए, stackoverflow.com/a/29303930/6309
VonC

1
एक मामूली विस्तार: उपयुक्त SOCKS परदे के पीछे का समर्थन नहीं करता है। Acquire::socks::proxyका अर्थ है किसी socksयोजना से शुरू होने वाले सभी URL के लिए प्रॉक्सी सेट करना । चूंकि आपके sources.listपास कोई socks://URL नहीं है , इसलिए उस पंक्ति को पूरी तरह से अनदेखा कर दिया गया है।
हंस-क्रिस्टोफ़ स्टीनर

किस बारे में docker-compose?
मोहम्मद मासूमि

जवाबों:


796

यहाँ प्रॉक्सी HTTP के लिए आधिकारिक डॉकर प्रलेखन का लिंक दिया गया है: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

एक त्वरित रूपरेखा:

सबसे पहले, डॉकर सेवा के लिए एक सिस्टमड ड्रॉप-इन डायरेक्टरी बनाएँ:

mkdir /etc/systemd/system/docker.service.d

अब एक फाइल बनाएं जिसे पर्यावरण वैरिएबल /etc/systemd/system/docker.service.d/http-proxy.confकहते हैं HTTP_PROXY:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"

यदि आपके पास आंतरिक डॉकटर रजिस्ट्रियां हैं, जिन्हें आपको बिना प्रॉक्सी के संपर्क करने की आवश्यकता है, तो आप उन्हें NO_PROXYपर्यावरण चर के माध्यम से निर्दिष्ट कर सकते हैं :

Environment="HTTP_PROXY=http://proxy.example.com:80/"
Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com"

फ्लश परिवर्तन:

$ sudo systemctl daemon-reload

सत्यापित करें कि कॉन्फ़िगरेशन लोड किया गया है:

$ sudo systemctl show --property Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/

डॉकटर को पुनः आरंभ करें:

$ sudo systemctl restart docker

3
यह डॉकएर 1.6.2 पर चलने वाले डेबियन जेसी के लिए काम करता है। किसी तरह संपादन /etc/default/dockerकार्य नहीं करता। शायद मैं exportCentos के लिए प्रलेखित एक को हटा देना चाहिए ।
neurite

2
Docs.oracle.com/cd/E37670_01/E37355/html/… के अनुसार पुराने SysV एडिट / etc / sysconfig / docker के लिए - Oracle Linux 6.7
SidJ

2
NB: मैंने माना कि 'डेमॉन-रीलोड' डॉक में परिवर्तन लागू करने के लिए पर्याप्त होगा, लेकिन वास्तव sudo systemctl restart dockerमें इसके लिए काम करने की सख्त आवश्यकता है।
जोस एल्बन

4
Ubuntu 14.04 के लिए, @ n3o के उत्तर का संदर्भ लें, चूंकि systemctl ubuntu 14.04 के लिए उपलब्ध नहीं है, यह upstartसेवाओं को लाने के लिए उपयोग करता है।
चिन्मय

4
अब यह "प्रॉक्सी प्रमाणीकरण आवश्यक है" लौटा रहा है ... उपयोगकर्ता नाम और पासवर्ड को कैसे कॉन्फ़िगर करें?
पाइनी

88

आपकी APT प्रॉक्सी सेटिंग Docker से संबंधित नहीं हैं।

डोकर HTTP_PROXY पर्यावरण चर का उपयोग करता है, यदि मौजूद है। उदाहरण के लिए:

sudo HTTP_PROXY=http://192.168.1.1:3128/ docker pull busybox

लेकिन इसके बजाय, मेरा सुझाव है कि आपके पास अपनी /etc/default/dockerकॉन्फ़िगरेशन फ़ाइल पर एक नज़र है : आपके पास स्वचालित रूप से लागू की गई प्रॉक्सी सेटिंग्स प्राप्त करने के लिए एक पंक्ति होनी चाहिए (और शायद समायोजित करें)। फिर डॉकर सर्वर को पुनः आरंभ करें:

service docker restart

8
मेरे मामले में / etc / default / docker में निचला उदाहरण (http_proxy) था, लेकिन काम करने के लिए मुझे वहाँ अपरकेस सेटिंग (HTTP_PROXY) जोड़ना था।
मेक्क

आप dok क्लाइंट के लिए HTTP_PROXY सेट नहीं करना चाहिए
thomas.han


1
यह apt.dockerproject.org से docker स्थापित करते समय Ubuntu 14.04 के लिए काम करता है।
माइकल कोप

1
यह डेबियन 8.8 पर काम नहीं करता है, और आपको http_proxy को /etc/systemd/system/docker.service.d में सेट करने की आवश्यकता है जैसा कि स्वीकृत उत्तर में दिखाया गया है
रोमन मिक

60

CentOS पर डॉकर के लिए विन्यास फाइल इस प्रकार है:

/etc/sysconfig/docker

नीचे की पंक्ति को जोड़ने से मुझे प्रॉक्सी सर्वर के पीछे काम करने वाले डॉकर डेमन को प्राप्त करने में मदद मिली:

HTTP_PROXY="http://<proxy_host>:<proxy_port>"
HTTPS_PROXY="http://<proxy_host>:<proxy_port>"

7
निर्यात HTTP_PROXY = "http: // <username>: <पासवर्ड> @ <प्रॉक्सी_हस्ट>: <प्रॉक्सी_पोर्ट>" कॉर्पोरेट परदे के पीछे के लोगों के लिए
निकोलस मोमार्ट्स

मेरे लिए यह केवल बिना काम किया export। क्या आपको यकीन है कि यह सही है?
Frans

4
मेरे लिए exportकेवल CentOS6 पर काम करता है और w / o पर CentOS7
user2363318

1
Centos7 पर मुझे भी निर्यात का उपयोग नहीं करना पड़ा
बंजोकैट

2
export HTTP_PROXY=...एक बैशवाद है, गैर-बैश शेल के लिए (जैसे कि क्या / बिन / श हो सकता है), दो पंक्तियों का उपयोग करें HTTP_PROXY=...और फिर export HTTP_PROXY कहा कि, मुझे बिल्कुल भी ज़रूरत नहीं थी export
कैमरून केर

42

यदि आप मैक (या विंडोज के लिए डॉकर ) के लिए नए डॉकर का उपयोग कर रहे हैं , तो केवल डॉकर ट्रे आइकन पर राइट-क्लिक करें और प्राथमिकताएं (विंडोज: सेटिंग्स) का चयन करें , फिर उन्नत पर जाएं, और प्रॉक्सी के तहत वहां अपनी प्रॉक्सी सेटिंग्स निर्दिष्ट करें। लागू करें और पुनरारंभ करें पर क्लिक करें और डॉकटर के पुनरारंभ होने तक प्रतीक्षा करें।


यदि कोई मेरी तरह macOS पर स्थानीय रूप से बाध्य प्रॉक्सी (जैसे 127.0.0.1:8787 ) का उपयोग करता है , तो यहां अधिक विस्तृत सेटअप गाइड है: स्थानीय रूप से बाध्य प्रॉक्सी काम क्यों नहीं करती है
Rockallite

मैंने खिड़कियों के माध्यम से अपने परदे के पीछे सेट किया है: सेटिंग्स, लेकिन ये परदे के पीछे मेरे कंटेनरों को प्रचार नहीं कर रहे हैं stackoverflow.com/questions/48272933/…
एमिक

मेरे लिए मुझे केवल अपने DNS सर्वर में डालने की आवश्यकता थी और यह तब काम किया। धन्यवाद।
रिचिन

32

उबंटू पर आपको डॉकर डेमन के लिए http_proxy सेट करना होगा, न कि क्लाइंट प्रोसेस। इसमें /etc/default/docker( यहाँ देखें ) किया जाता है ।


यह कहता है कि मुझे आपके समूह तक पहुँचने की अनुमति नहीं है। लिंक में।
अज़ीज़ब्रुक

मुझे नहीं लगता कि यह उबंटू 18.04 और इसके बाद के संस्करण के लिए काम करता है।
zslim

27

अरुण के जवाब का विस्तार करने के लिए , सेंटोस 7 में काम करने के लिए, मुझे "निर्यात" कमांड को हटाना पड़ा। तो संपादित करें

/etc/sysconfig/docker

और जोड़:

HTTP_PROXY="http://<proxy_host>:<proxy_port>"
HTTPS_PROXY="https://<proxy_host>:<proxy_port>"
http_proxy="${HTTP_PROXY}"
https_proxy="${HTTPS_PROXY}"

फिर डॉकटर को पुनः आरंभ करें:

sudo service docker restart

स्रोत इस ब्लॉग पोस्ट है


2
केवल HTTP_PROXY की आवश्यकता है (फेडोरा 20 पर परीक्षण)।
शेल्डन

12 के लिए बिल्कुल सही!
डीन मेहान

14

स्थानीय रूप से बाध्य प्रॉक्सी काम क्यों नहीं करती है

समस्या

यदि आप स्थानीय रूप से बाध्य प्रॉक्सी चला रहे हैं , उदाहरण के लिए 127.0.0.1:8989, यह मैक के लिए डॉकर में काम करता है । से डोकर प्रलेखन :

मैं एक कंटेनर से होस्ट पर एक सेवा से जुड़ना चाहता हूं

मैक के पास एक बदलती आईपी पता है (या यदि आपके पास कोई नेटवर्क नहीं है)। हमारी वर्तमान सिफारिश lo0मैक पर इंटरफेस के लिए एक अप्रयुक्त आईपी को संलग्न करने के लिए है; उदाहरण के लिए: sudo ifconfig lo0 alias 10.200.10.1/24और सुनिश्चित करें कि आपकी सेवा इस पते पर सुन रही है या 0.0.0.0(यानी नहीं 127.0.0.1)। तब कंटेनर इस पते से जुड़ सकते हैं।

डॉकर सर्वर साइड के लिए भी ऐसा ही है। (डॉकर के सर्वर साइड और क्लाइंट साइड को समझने के लिए, चलाने का प्रयास करें docker version।) और सर्वर साइड वर्चुअलाइजेशन लेयर पर चलता है, जिसका अपना एक है localhost। इसलिए, यह localhostहोस्ट OS पर प्रॉक्सी सर्वर से कनेक्ट नहीं होगा ।

समाधान

इसलिए, यदि आप मेरे जैसे स्थानीय रूप से बाध्य प्रॉक्सी का उपयोग कर रहे हैं, तो मूल रूप से आपको इसके लिए डॉक के साथ काम करने के लिए निम्नलिखित चीजें करनी होंगी:

  1. 0.0.0.0इसके बजाय अपने प्रॉक्सी सर्वर को सुनें 127.0.0.1सावधानी: दुर्भावनापूर्ण पहुंच को रोकने के लिए आपको उचित फ़ायरवॉल कॉन्फ़िगरेशन की आवश्यकता होगी।

  2. lo0इंटरफ़ेस में एक लूपबैक उपनाम जोड़ें , उदा 10.200.10.1/24:

    sudo ifconfig lo0 alias 10.200.10.1/24
    
  3. डॉकर ट्रे मेनू में प्राथमिकताएं10.200.10.1:8989 से HTTP और / या HTTPS प्रॉक्सी सेट करें (मान लें कि प्रॉक्सी सर्वर पोर्ट पर सुन रहा है )।8989

उसके बाद, एक छवि से एक नए कंटेनर में एक कमांड चलाकर प्रॉक्सी सेटिंग्स का परीक्षण करें जिसे डाउनलोड नहीं किया गया है:

$ docker rmi -f hello-world
  ...

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

c04b14da8d14: Pull complete 
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest
  ...

सूचना: लूपबैक उर्फ ​​द्वारा सेटifconfigरिबूट के बाद संरक्षित नहीं होता है। इसे लगातार बनाये रखना एक अन्य विषय है। कृपया इस ब्लॉग पोस्ट को जापानी मेंचेक करें (Google अनुवाद मदद कर सकता है)।


इसके लिए धन्यवाद, मैं पिछले साल या तो मैक पर स्क्वीडमैन प्राप्त करने के लिए एक समाधान खोजने की कोशिश कर रहा हूं जब कंपनी प्रॉक्सी के माध्यम से काम और बाहर दोनों नेटवर्क का उपयोग करने की कोशिश कर रहा हूं। मुझे स्टार्टअप पर कॉन्फ़िगर करने के लिए इसे लॉन्च में हुक करके चारों ओर छड़ी करने के लिए मिला। developer.apple.com/library/content/documentation/MacOSX/…
प्रॉक्टर

धन्यवाद दोस्त। मुझे आखिरकार आपकी पोस्ट मिल गई! यह काम करता हैं। यदि आप cntlm का उपयोग कर रहे हैं तो अपने कॉन्फ़िगरेशन में बाइंडिंग 0.0.0.0 जोड़ना न भूलें। उदा। 0.0.0.0: 8989
फेलिक्स

मैं भी cntlm का उपयोग कर रहा हूं, और इसे गेटवे मोड में बदल दें
ली गैरी

10

यह मेरे लिए काम करने वाला फिक्स है: उबंटू, डॉकर संस्करण: 1.6.2

फ़ाइल में /etc/default/docker, लाइन जोड़ें:

export http_proxy='http://<host>:<port>'

डॉकटर को पुनः आरंभ करें

sudo service docker restart

उबंटू 14.04 और मिंट 17.3 पर डॉकटर v1.12.1 पर काम कर रहा है
wmarbut

1
14.04.4 + डॉकर संस्करण 17.03.1-CE के लिए, c6d412e का निर्माण
19:07

8

डॉकर को एक प्रॉक्सी के साथ काम करने के लिए कॉन्फ़िगर करने के लिए आपको Docker sysconfig फ़ाइल में HTTPS_PROXY / HTTP_PROXY पर्यावरण चर जोड़ना होगा (/etc/sysconfig/docker )।

यदि आप उपयोग करते हैं init.dया सेवाओं के उपकरण के लिए आपको "निर्यात" स्टेटमेंट ( डेबियन बग रिपोर्ट लॉग के कारण - # 667441। / / etc / default / docker में उदाहरण समर्थित सिंटैक्स के बारे में भ्रामक हैं ) जोड़ने पर निर्भर करता है :

HTTPS_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>"
HTTP_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>"
export HTTP_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>"
export HTTPS_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>"

डॉकर रिपॉजिटरी (डॉकर हब) केवल HTTPS का समर्थन करता है। डोजर को SSL इंटरसेप्टिंग प्रॉक्सी के साथ काम करने के लिए आपको सिस्टम ट्रस्ट स्टोर में प्रॉक्सी रूट सर्टिफिकेट जोड़ना होगा।

CentOS के लिए, फ़ाइल को कॉपी करें /etc/pki/ca-trust/source/anchors/ CA ट्रस्ट स्टोर अपडेट करें और उसे अपडेट करें और डॉकर सेवा को पुनरारंभ करें।

यदि आपका प्रॉक्सी NTLMv2 प्रमाणीकरण का उपयोग करता है - तो प्रमाणीकरण को पाटने के लिए आपको Cntlm जैसे मध्यवर्ती प्रॉक्सी का उपयोग करना होगा। यह ब्लॉग पोस्ट इसे विस्तार से बताता है


5

डोकर, के नए संस्करण में डोकर इंजन , एक में systemd आधारित वितरण, आप वातावरण चर लाइन में जोड़ना चाहिए /lib/systemd/system/docker.service , के रूप में यह दूसरों के द्वारा बताया गया है:

Environment="HTTP_PROXY=http://hostname_or_ip:port/"

RHEL7 पर इसकी आवश्यकता थी।
डबलाकिरेव

[सेवा] अनुभाग के लिए लाइन जोड़ें
13

5

डॉकर को स्थापित करने के बाद, निम्नलिखित करें:

[mdesales@pppdc9prd1vq ~]$ sudo HTTP_PROXY=http://proxy02.ie.xyz.net:80 ./docker -d &
[2] 20880

फिर, आप कुछ भी खींच या कर सकते हैं:

mdesales@pppdc9prd1vq ~]$ sudo docker pull base
2014/04/11 00:46:02 POST /v1.10/images/create?fromImage=base&tag=
[/var/lib/docker|aa088847] +job pull(base, )
Pulling repository base
b750fe79269d: Download complete
27cf78414709: Download complete
[/var/lib/docker|aa088847] -job pull(base, ) = OK (0)

3

जैसा कि मुझे अभी तक टिप्पणी करने की अनुमति नहीं है:

CentOS 7 के लिए मुझे "docker.service" के भीतर एन्वायर्नमेंट फ़ील को सक्रिय करने की आवश्यकता है जैसे कि यह यहाँ वर्णित है: डॉकटर को सिस्टमड के साथ नियंत्रित और कॉन्फ़िगर करें

संपादित करें: मैं अपना समाधान जोड़ रहा हूं जैसा कि नीलेश ने कहा है। मुझे "/etc/systemd/system/docker.service" खोलने की आवश्यकता थी और मुझे अनुभाग में जोड़ना था

[सर्विस]

EnvironmentFile = - / etc / sysconfig / डोकर

तभी मेरे सिस्टम पर फ़ाइल "etc / sysconfig / docker" लोड हुई।


3

Docker बिल्ड में कर्ल के साथ समस्या को हल करने के लिए, मैंने Dockerfile के अंदर निम्नलिखित जोड़ा:

ENV http_proxy=http://infoprx2:8080
ENV https_proxy=http://infoprx2:8080
RUN apt-get update && apt-get install -y curl vim

ध्यान दें कि ENV स्टेटमेंट RUN स्टेटमेंट से पहले है।

और डॉकर डेमॉन को इंटरनेट तक पहुंच बनाने में सक्षम बनाने के लिए (मैं बूटमेडक के साथ किटेमेटिक का उपयोग करता हूं), मैंने निम्नलिखित में जोड़ा /var/lib/boot2docker/profile:

export HTTP_PROXY=http://infoprx2:8080
export HTTPS_PROXY=http://infoprx2:8080

फिर मैंने डॉकर को फिर से शुरू किया sudo /etc/init.d/docker restart


3

अगर मोजे 5 प्रॉक्सी का उपयोग किया जाता है, तो यहां मेरा परीक्षण डॉकर 17.03.1-सीइ के साथ "ऑल_प्रोक्सी" सेटिंग के साथ है, और यह काम कर रहा है:

# Set up socks5 proxy server
ssh sshUser@proxyServer -C -N -g -D \
     proxyServerIp:9999 \
     -o ExitOnForwardFailure=yes \
     -o ServerAliveInterval=60

# Configure dockerd and restart.
# NOTICE: using "all_proxy"
mkdir -p /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/http-proxy.conf <<EOF
[Service]
Environment="all_proxy=socks5://proxyServerIp:9999"
Environment="NO_PROXY=localhost,127.0.0.1,private.docker.registry.com"
EOF

systemctl daemon-reload
systemctl restart docker

# Test whether can pull images
docker run -it --rm alpine:3.5

3

प्रॉक्सी सेटिंग्स को कॉन्फ़िगर करने के लिए विंडोज के लिए पूर्ण समाधान।

< user>:< password>@< proxy-host>:< proxy-port>

आप इसे सीधे डॉकर आइकन, और फिर प्रॉक्सी पर राइट-क्लिक करके कॉन्फ़िगर कर सकते हैं।

वहां आप प्रॉक्सी एड्रेस, पोर्ट, यूजर नेम और पासवर्ड को कॉन्फ़िगर कर सकते हैं।

इस प्रारूप में:

< user>:< password>@< proxy-host>:< proxy-port>

उदाहरण:

"geronimous:mypassword@192.168.44.55:8080"

इससे ज्यादा कुछ नहीं।


2

बस प्रॉक्सी वातावरण चर सेट करने से मुझे संस्करण 1.0.1 में मदद नहीं मिली ... मुझे /etc/default/docker.io"http_proxy" चर के लिए फ़ाइल को सही मूल्य के साथ अद्यतन करना पड़ा ।


2

यदि आप उबंटू में हैं, तो अपने प्रॉक्सी को जोड़ने के लिए इन कमांड को निष्पादित करें।

sudo nano /etc/default/docker

और लाइनों को निर्दिष्ट करता है जो निर्दिष्ट करता है

#export http_proxy = http://username:password@10.0.1.150:8050

और इसे अपने उपयुक्त प्रॉक्सी सर्वर और उपयोगकर्ता नाम के साथ बदलें।

फिर डोकर का उपयोग करके पुनः आरंभ करें:

service docker restart

अब आप प्रॉक्सी के पीछे डॉकर कमांड चला सकते हैं:

docker search ubuntu

2

शायद आपको लोअरकेस वेरिएबल सेट करने की आवश्यकता है। मेरे मामले में, मेरी /etc/systemd/system/docker.service.d/http-proxy.conf फ़ाइल इस तरह दिखती है:

[Service]
Environment="ftp_proxy=http://<user>:<password>@<proxy_ip>:<proxy_port>/"
Environment="http_proxy=http://<user>:<password>@<proxy_ip>:<proxy_port>/"
Environment="https_proxy=http://<user>:<password>@<proxy_ip>:<proxy_port>/"

सौभाग्य! :)


2

मैं भी एक फ़ायरवॉल के पीछे एक ही मुद्दे का सामना कर रहा था। नीचे दिए गए चरणों का पालन करें:

$ sudo vim /etc/systemd/system/docker.service.d/http_proxy.conf
[Service]
Environment="HTTP_PROXY=http://username:password@IP:port/"

Https_prxoy.conf फ़ाइल का उपयोग या निकालें नहीं।

पुनः लोड करें और अपने डॉक कंटेनर को पुनः आरंभ करें:

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:2557*********************************8
Status: Downloaded newer image for hello-world:latest

1

यदि आप उबंटू में हैं, तो आपको इस कमांड को निष्पादित करना चाहिए:

export https_proxy=http://your_name:password@ip_proxy:port docker 

और डॉकर को पुनः लोड करें:

service docker.io restart

या /etc/docker.ioनैनो के साथ जाओ ...


1

डॉकर 1.9.1 के साथ उबंटू 14.04 (भरोसेमंद तहर) पर, मैंने बस http_proxyलाइन को अनकम्प्रेस्ड किया, वैल्यू अपडेट की और फिर डॉकर सर्विस को फिर से शुरू किया।

export http_proxy="http://proxy.server.com:80"

और फिर

service docker restart

0

RHEL6.6 पर केवल यह काम करता है (उपयोग के बारे में ध्यान दें export):

/ Etc / sysconfig / डोकर

export http_proxy="http://myproxy.example.com:8080"
export https_proxy="http://myproxy.example.com:8080"

नोट: दोनों httpप्रोटोकॉल का उपयोग कर सकते हैं ।)

धन्यवाद https://crondev.com/running-docker-behind-proxy/


0

मेरे नेटवर्क में, Ubuntu एक कॉर्पोरेट ISA प्रॉक्सी सर्वर के पीछे काम करता है। और इसके लिए प्रमाणीकरण की आवश्यकता होती है। मैंने ऊपर वर्णित सभी समाधानों की कोशिश की और कुछ भी मदद नहीं की। फ़ाइल में प्रॉक्सी लाइन लिखने में वास्तव में क्या मदद मिली/etc/systemd/system/docker.service.d/https-proxy.conf एक डोमेन नाम के बिना ।

के बजाय

Environment="HTTP_PROXY=http://user@domain:password@proxy:8080"

या

Environment="HTTP_PROXY=http://domain\user:password@proxy:8080"

और कुछ अन्य प्रतिस्थापन जैसे कि @ -> %40या \ -> \\मैंने उपयोग करने की कोशिश की

Environment="HTTP_PROXY=http://user:password@proxy:8080"

और यह अब काम करता है।



0

यह वास्तव में सवाल का जवाब नहीं देता है, लेकिन मदद कर सकता है, खासकर यदि आप सेवा फ़ाइलों से निपटना नहीं चाहते हैं।

मामले में आप एक छवि की मेजबानी कर रहे हैं, एक तरीका यह है कि छवि को टार आर्काइव के रूप में परिवर्तित करें, सर्वर पर निम्न की तरह कुछ का उपयोग कर ।

docker save <image-name> --output <archive-name>.tar

बस संग्रह डाउनलोड करें और इसे वापस एक छवि में बदल दें।

docker load <archive-name>.tar
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.