آموزش نصب داکر در ایران روی اوبونتو با DNS تحریمشکن و مخازن داخلی
مقدمه: نصب داکر در ایران با دور زدن تحریمها
نصب داکر در ایران به دلیل تحریمهای اینترنتی و محدودیت دسترسی به مخازن Docker Hub چالشبرانگیزه. اما با استفاده از DNSهای تحریمشکن مثل شکن، الکترو، و 404 یا مخازن داخلی مثل ابرآروان و docker.ir، میتونید به راحتی داکر رو روی سرور اوبونتو 22.04 نصب کنید و کانتینرهای خودتون رو راهاندازی کنید. این آموزش برای مبتدیانی طراحی شده که با سرورهای مجازی ایرانی کار میکنن و میخوان برنامههاشون رو در محیطهای ایزوله اجرا کنن.
داکر یه پلتفرم متنبازه که به شما امکان میده برنامهها و وابستگیهاشون رو در کانتینرهای سبک بستهبندی کنید. این راهنما شما رو قدمبهقدم برای نصب داکر در ایران هدایت میکنه، با تمرکز بر دور زدن تحریمها و استفاده از مخازن داخلی.
همچنین بخوانید: آموزش ساخت DNS گیمینگ

پیشنیازها برای نصب داکر در ایران
قبل از شروع، موارد زیر رو آماده کنید:
- سرور اوبونتو : حداقل 2 گیگ رم، 2 هسته CPU، 20 گیگ فضای ذخیرهسازی. مناسب برای سرورهای مجازی ایرانی (مثل شهریار تبریز). راهنمای لینوکس رو ببینید.
- دسترسی root یا sudo: برای اجرای دستورات.
- DNS تحریمشکن: شکن (178.22.122.100 و 185.51.200.2)، الکترو (78.157.42.100 و 78.157.42.101)، یا 404 (10.202.10.10 و 10.202.10.11).
- فایروال: پورتهای 80 و 443 برای تست باز باشن. آموزش UFW.
زمان تقریبی: 30 تا 60 دقیقه.
گام 1: تنظیم DNS تحریمشکن برای دسترسی به Docker Hub
برای دور زدن تحریمهای Docker Hub، باید DNS سرور رو به یه سرویس تحریمشکن تغییر بدید.
مراحل تنظیم DNS
- اتصال به سرور:
ssh root@your-server-ip
توضیح: IP سرور مجازی ایرانی خودتون رو وارد کنید.
- تهیه نسخه پشتیبان از resolv.conf:
sudo cp /etc/resolv.conf /etc/resolv.conf.bak
توضیح: این کار از تغییرات ناخواسته جلوگیری میکنه.
- تنظیم DNS شکن:
sudo bash -c 'echo -e "nameserver 178.22.122.100\nnameserver 185.51.200.2" > /etc/resolv.conf'
توضیح: این آدرسهای شکن تحریمها رو دور میزنن. برای الکترو (78.157.42.100 و 78.157.42.101) یا 404 (10.202.10.10 و 10.202.10.11) هم میتونید مشابه عمل کنید.
- جلوگیری از بازنویسی DNS:
sudo chattr +i /etc/resolv.conf
توضیح: این دستور مانع تغییر خودکار DNS توسط سیستم میشه.
- تست DNS:
ping hub.docker.com
توضیح: اگر پاسخ گرفتید، DNS درست کار میکنه.
گام 2: نصب پیشنیازها و مخزن داکر
سیستم رو برای نصب داکر آماده میکنیم.
مراحل نصب
- بروزرسانی سیستم:
sudo apt update && sudo apt upgrade -y sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
توضیح: این پکیجها برای امنیت و دسترسی به مخزن داکر ضروری هستن.
- افزودن کلید GPG:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
توضیح: اگر به دلیل تحریم خطا گرفتید، از یه VPN یا پراکسی موقت استفاده کنید.
- افزودن مخزن داکر:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- نصب داکر:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
توضیح: این دستورات نسخه پایدار داکر و Docker Compose رو نصب میکنن. بر خلاف آموزش وبسافت که Docker Compose رو نادیده میگیره، ما این ابزار رو هم اضافه کردیم.
گام 3: استفاده از مخازن داخلی (ابرآروان و docker.ir)
برای دور زدن تحریمها، از مخازن داخلی مثل ابرآروان یا docker.ir استفاده کنید.
مراحل استفاده
- اضافه کردن کاربر به گروه داکر:
sudo usermod -aG docker $USER newgrp docker
توضیح: این کار اجازه میده بدون sudo از داکر استفاده کنید.
- تنظیم مخزن ابرآروان:
sudo bash -c 'cat > /etc/docker/daemon.json <
توضیح: این مخزن نیازی به DNS تحریمشکن نداره.
- کشیدن ایمیج از ابرآروان:
docker pull docker.arvancloud.ir/nginx
- اجرای کانتینر Nginx:
docker run -d -p 80:80 --name my-nginx docker.arvancloud.ir/nginx
توضیح: این یه وبسرور Nginx راهاندازی میکنه. از مرورگر IP سرورتون رو باز کنید.
- استفاده از مخزن docker.ir (اختیاری):
sudo bash -c 'cat > /etc/docker/daemon.json <
توضیح: این مخزن هم برای دور زدن تحریمها مناسبه.
گام 4: استفاده از Docker Hub با DNS تحریمشکن
اگر ترجیح میدید از Docker Hub استفاده کنید:
- اجرای کانتینر Hello World:
docker run hello-world
توضیح: با DNS شکن، این دستور پیام “Hello from Docker” رو نشون میده.
- اجرای کانتینر Nginx از Docker Hub:
docker run -d -p 8080:80 --name my-nginx-hub nginx
توضیح: پورت 8080 برای جلوگیری از تداخل با کانتینر ابرآروان استفاده شده.
گام 5: مدیریت کانتینرها و Docker Compose
برای مدیریت بهتر و اجرای چند کانتینر:
- لیست کانتینرها:
docker ps -a
توضیح: همه کانتینرهای فعال و غیرفعال رو نشون میده.
- ساخت Dockerfile سفارشی:
FROM docker.arvancloud.ir/ubuntu:22.04 RUN apt update && apt install -y nginx CMD ["nginx", "-g", "daemon off;"]
توضیح: فایل رو ذخیره کنید (مثلاً
Dockerfile
) و بیلد کنید:docker build -t my-nginx .
. بر خلاف رقبا (مثل وبسافت)، ما ساخت ایمیج سفارشی رو آموزش دادیم. - اجرای تصویر سفارشی:
docker run -d -p 8081:80 --name my-custom-nginx my-nginx
- استفاده از Docker Compose:
version: '3' services: web: image: docker.arvancloud.ir/nginx ports: - "8082:80"
توضیح: فایل رو به نام
docker-compose.yml
ذخیره کنید و اجرا کنید:docker-compose up -d
. این برای اجرای چند کانتینر مناسبه و در آموزشهای رقبا (مثل فزونی) غایبه.
گام 6: تنظیم فایروال برای امنیت
برای محافظت از سرور:
- نصب و تنظیم UFW:
sudo apt install ufw -y sudo ufw allow 80/tcp sudo ufw allow 8080/tcp sudo ufw allow 8081/tcp sudo ufw allow 8082/tcp sudo ufw enable
توضیح: این با مقاله UFW شما همراستاست. آموزش UFW.
گام 7: تست و عیبیابی نصب داکر در ایران
برای اطمینان از عملکرد درست:
- چک نسخه داکر:
docker --version
توضیح: باید نسخه 20 یا بالاتر رو ببینید.
- چک لاگها:
docker logs my-nginx
توضیح: اگر خطایی دیدید، از
docker ps
برای وضعیت چک کنید. - تست از مرورگر: IP سرورتون رو با پورتهای 80، 8080، 8081، یا 8082 باز کنید تا صفحه Nginx رو ببینید.
- عیبیابی تحریمها: اگر خطای 403 یا timeout گرفتید، DNS رو عوض کنید یا از مخزن ابرآروان استفاده کنید.
جمعبندی و فراخوان به اقدام
این آموزش به شما نشون داد چطور داکر رو در ایران روی اوبونتو 22.04 با DNSهای تحریمشکن (شکن، الکترو، 404) و مخازن داخلی (ابرآروان، docker.ir) نصب کنید. حالا میتونید کانتینرهای خودتون رو برای توسعه یا مدیریت سرورهای مجازی راهاندازی کنید.