Maxx
May 2, 2022, 1:28am
#1
أحاول سحب الصور من خلال وكيل الجوارب 5. لقد بدأت وكيل الجوارب 5 على المنفذ 8888
مثل هذا:
ssh -NC -D 8888 parham@***.***.**
ومع ذلك ، عندما أركض docker-compose
مثل هذا ، من الواضح أنه لا يستخدم متغير البيئة:
$ ALL_PROXY=socks5://127.0.0.1:8888 docker-compose up
كيف يمكنني جعل عامل الميناء سحب الصور من خلال هذا الوكيل?
يبدو أن هذه الميزة كانت مؤخرا أضيفت إلى docker
، لا سيما في الإصدار 1.11.0
. على الرغم من عدم وجود وثائق كافية حول استخدامه ، وضع ALL_PROXY
يجب أن يعمل متغير البيئة ، وفقا ل هذا التعليق .
$ export ALL_PROXY=socks5://localhost:port $ docker pull image
لست متأكدا من docker-compose
في هذه اللحظة.إذا كان هدفك الأساسي هو تسريع عملية التنزيل باستخدام الجوارب5 ، فقد تتمكن من تحقيق الغرض عن طريق سحب الصور يدويا باستخدام docker pull
قبل تشغيل أخيرا docker-compose up
.
الطريقة 1 خطأ:
docker-compose up Pulling web (jitsi/web:stable-6433)...ERROR: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
ثم الإعداد HTTP_PROXY
و HTTPS_PROXY
من هنا:
export HTTP_PROXY=socks5://localhost:9040/export HTTPS_PROXY=socks5://localhost:9040/
النتيجة:
docker-compose up Pulling web (jitsi/web:stable-6433)...stable-6433: Pulling from jitsi/webb380bbd43752: Downloading [===================> ] 10.36MB/27.14MB0312863d422f: Download complete503063a74a58: Downloading [============================> ] 7.998MB/14.15MB392a862abfe3: Download complete41a073b705ed: Download completea8f4844f6941: Download completef500f1f2f4ae: Downloading [============> ] 11.69MB/47.56MB
لقطة من قبل HTTP_PROXY
وبعد إعدادها:
الطريقة 2 إذا لم تنجح الطريقة 1 (طريقة بسيطة) ، يمكنك استخدام هذا واحد :
أولا البحث عن موقع سيستيمد للتكوين:
systemctl status docker | grep docker.service\; Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
الذي هنا لبلدي على دبيان 9 هو /lib/systemd/system/docker.service
والدليل الخاص به هو /lib/systemd/system/
لذا cd
إلى /lib/systemd/system/
.
ثانيا mkdir
ل docker.service.d
أو:
mkdir docker.service.d && cd !$
الثالث في docker.service.d
دليل إنشاء .conf
ملف مثل: هتب-بروكسي.أسيوط
الرابع أضف هذه في هتب-بروكسي.أسيوط الملف:
[Service]Environment="HTTP_PROXY=socks5://localhost:9040"Environment="HTTPS_PROXY=socks5://localhost:9040"
لاحظ أن localhost:9040
هو لي ، تحديثه إذا كان لديك إب أو منفذ مختلف
السادسة لأننا نقوم بتحديث تشغيل التكوين:
systemctl daemon-reload
ثم أعد تشغيل خدمة عامل الميناء
systemctl restart docker
الآن هو وتشغيلها:
@ جواب نيكيلوي أعلاه يفتقد نقطة حاسمة.
يتم أخذ الوكيل المستخدم لسحب الصورة من بيئة dockerd
. لا توجد حاليا طريقة لتغييره دون إعادة التشغيل dockerd
.
لقد قدمت موبي العدد #37335 حول هذا الموضوع ، لأنني أردت استخدام وكيل معين لأمر سحب واحد ، ولكن ليس بشكل عام.
في عامل الميناء 17.07 وأعلى ، يمكنك أيضا استخدام json
ملف لتكوين الوكيل:
$ vim ~/.docker/config.json { "proxies": { "default": { "httpProxy": "http://127.0.0.1:8118", "httpsProxy": "http://127.0.0.1:8118" } } } $ docker pull ubuntu:18.04 $ docker-compose build
المزيد معلومات في المستندات الرسمية.
وبالإضافة إلى استخدام Socks
، يمكنك إعادة توجيه Socks
إلى HTTP
باستخدام privoxy
:
$ sudo apt install -y privoxy $ sudo vim /etc/privoxy/config forward-socks5 / 127.0.0.1:9090 . forward-socks4a / 127.0.0.1:9090 . forward-socks5t / 127.0.0.1:9090 . forward 192.168.*.*/ . forward 10.*.*.*/ . forward 127.*.*.*/ . forward localhost/ . $ sudo service privoxy restart
المزيد معلومات في المستندات الرسمية.
عامل الميناء-يؤلف لا سحب الصور. ويحكي عامل الميناء لسحب الصور.