دور زدن تحریم داکر با شکن و proxy
داستان چیه ؟
داستان اینه که داکر هاب که رجیستری پیش فرض داکر هست ایران رو تحریم کرده و برای استفاده و دانلود (pull کردن) بخش زیادی از ایمیج هاش با مشکل برخواهیم خورد
تو این مقاله چند روش برای دور زدن تحریم داکر بهتون آموزش میدم
روش اول : Shecan – یک تحریم شکن؛ تحریمهای اینترنتی رو بیاثر کن
داستان اینه که داکر هاب که رجیستری پیش فرض داکر هست ایران رو تحریم کرده و برای استفاده و دانلود (pull کردن) بخش زیادی از ایمیج هاش با مشکل برخواهیم خورد
تو این مقاله چند روش برای دور زدن تحریم داکر بهتون آموزش میدم
استفاده از شکن بسیار آسان
است. کافی است DNS خود را روی شکن تنظیم کنید. برای گوشیهای اندروید، این
کار را با استفاده از نرمافزار شکن هم میتوانید انجام دهید.
روش دوم : استفاده از پراکسی
تو این روش با تهیه یک پراکسی و ست کردن اون روی تنظیمات داکرتون میتونید ترافیک داکر رو پراکسی کنید
برای اینکار من یک VPS تهیه کردم و میخوام COW Proxy رو روی داکر بیارم بالا لازم به ذکره که آموزش COW PROXY رو توی سایت بلاگ انگلیسی Packops.dev مدت ها پیش منتشر کرده بودم
1- درست کردن داکر فایل
در واقع کار یکه تو این قسمت میخواهیم انجام بدیم اینه که با استفاده از یک ایمیج Alpine که حجم کمی رو هم داره اسکریپت Cow Proxy رو دانلود و خط به خط اجرا میکنیم و درنهایت رو پورت 7777 Expose میکنیم
FROM alpine
RUN apk update && apk add curl && apk add bash
#installing Cow Proxy
RUN curl -s -L git.io/cow | bash
EXPOSE 7777/tcp
ENTRYPOINT ["/cow"]
2- درست کردن داکرکامپوز
تو فایل داکر کامپیوزی که مینوسیم کلمه build رو استفاده میکنیم به این معنا که باید از DOCKERFILE ایمیج رو بلید کنی و اسم cow-proxy:1 رو به ایمیج میدیم روی پورت 8585 لیستن خواهد بود
و config-file رو به root/.cow/rc میچسبونیم که مسیر کانفیگ Cow proxy
(ممکنه موقع کپی کردن مقادیر به هم ریخته باشه دقت کنید مقادیر جابه جا نشده باشند )
version: "3"
:services
:cowproxy
. :build
image: cow-proxy:1
ports:
"8585:7777" -
volumes:
"config-file:/root/.cow/rc/." -
restart: always
فایلی تحت عنوان config-file درست میکنیم که مشخصات یوزر پسورد و همینطور پورتی که باید لستن باشه + مسیر لاگ فایلشو مشخص میکنیم
listen = http://0.0.0.0:7777
logFile = /dev/stderr
userPasswd = user:pass
و در نهایت با دستور docker-compose up -d پروژه رو بالا میاریم
3- ست کردن پراکسی رو داکر
برای ست کردن پراکسی روی داکر نیاز داریم که یک مسیر کانفیگ (Override میشه به کانفیگ اصلی) جدید برای سرویس داکر درست کنیم و درنهایت یک بار systemd و داکر و reload کنیم
sudo mkdir -p /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/proxy.conf
[Service]
"Environment="HTTP_PROXY=http://user:[email protected]:8585
"Environment="HTTPS_PROXY=http://user:[email protected]:8585
"Environment="NO_PROXY=localhost,127.0.0.1,::1
روش تست پراکسی
for ((i=1;i<=10;i++)); do curl -I https://cloud.google.com/ --proxy http://user:password@YOUR_PROXY_IP:8585 -vv; done
شما با curl –proxy به راحتی میتونید مقصدی رو curl کنید با مشخصات پراکسیتون (IP+port+user and password)
تو این مثال 10 تا ریکوست ارسال میشه که حتما باید Response Code 200 دریافت کنید