نصب Docker، پیکربندی Mirror و Proxy
نصب Docker روی سرور اوبونتو با docker.io
در مخازن رسمی توزیع اوبونتو، پکیج docker.io همراه با ابزارهای لازم نگهداری میشود. استفاده از این پکیج سادهترین و سریعترین راه برای راهاندازی محیط داکر روی سرور اوبونتو بدون نیاز به افزودن مخازن جانبی است.
برای نصب Docker و ابزار Docker Compose مراحل زیر را اجرا کنید:
گام ۱: بهروزرسانی مخازن پکیجها
گام ۲: نصب docker.io و ابزارهای مرتبط
نکته: بسته به نگارش اوبونتو، پلاگین Docker Compose ممکن است با بستهی
docker-compose-v2یاdocker-composeارائه شود.
گام ۳: بررسی و فعالسازی سرویس داکر
بررسی وضعیت اجرای سرویس:
در صورتی که سرویس در حالت فعال (Active/Running) نباشد، آن را فعال و روی استارتآپ سیستم تنظیم کنید:
اجرای دستورات داکر بدون sudo
بهطور پیشفرض، سوکت ارتباطی داکر (/var/run/docker.sock) متعلق به کاربر root و گروه docker است. برای اینکه مجبور نباشید قبل از هر دستور داکر sudo بنویسید، کاربر فعلی خود را به گروه docker اضافه کنید:
سپس از نشست فعلی خارج شوید و دوباره متصل شوید (یا دستور زیر را برای اعمال تغییرات در نشست جاری بزنید):
اکنون میتوانید بدون sudo نگارش داکر را بررسی کنید:
چالش دانلود ایمیجها در محیطهای دارای محدودیت اینترنت
سرویس Docker Hub و رجیستریهای کانتینر، ممکن است به دلیل تحریمهای بینالمللی یا محدودیتهای شبکه بهصورت مستقیم در دسترس نباشند. دو روش استاندارد برای حل این مسئله وجود دارد:
نکتهی مهم: برای دانلود ایمیجها، اجرای تنها یکی از این دو روش کافی است. روش اول (استفاده از Registry Mirror) بسیار سادهتر، پایدارتر و گزینهی پیشنهادی است. تنها در صورتی سراغ روش دوم (پروکسی) بروید که به میرورهای داکر دسترسی نداشته باشید.
روش اول: استفاده از Registry Mirror (میرورهای رجیستری) — روش پیشنهادی و سادهتر
سرورهای واسط و ارائهدهندگان زیرساخت داخلی، میروری از رجیستری داکر هاب ارائه میدهند تا دانلود ایمیجها با سرعت بالا انجام شود.
برای تنظیم میرورها، فایل /etc/docker/daemon.json را با دسترسی ادمین بسازید یا ویرایش کنید:
محتوای زیر را در آن قرار دهید (میتوانید از میرورهای عمومی معتبر یا میرور اختصاصی خود استفاده کنید):
سپس سرویس داکر را مجدداً راهاندازی کنید تا تغییرات اعمال شود:
برای اطمینان از اعمال میرورها:
روش دوم: پیکربندی پروکسی برای Daemon (Systemd Proxy)
اگر سرور شما به یک پروکسی (مانند HTTP/HTTPS Proxy) دسترسی دارد، دستورات docker pull ترافیک خود را مستقیماً از طریق سرویس dockerd ارسال میکنند و متغیرهای محیطی معمولی شل روی آن اثری ندارد.
باید متغیرهای پروکسی را در تنظیمات سرویس systemd داکر وارد کنید:
۱. ایجاد دایرکتوری و فایل Drop-in برای سرویس داکر:
۲. افزودن اطلاعات پروکسی:
نکته: آدرس و پورت فوق را با مشخصات سرویس پروکسی واقعی خود جایگزین کنید.
۳. بارگذاری مجدد تنظیمات systemd و راهاندازی مجدد داکر:
برای بررسی اعمال متغیرهای پروکسی در داکر:
اعتبارسنجی نهایی با کانتینر hello-world
برای اطمینان از اینکه موتور داکر فعال است و ایمیجها بدون مشکل دانلود میشوند، دستور زیر را اجرا کنید:
نمایش پیام “Hello from Docker!” نشان میدهد که:
- سرویس داکر فعال و آماده به کار است.
- دسترسی بدون روت با موفقیت کار میکند.
- اتصال به رجیستری (از طریق پروکسی یا میرور) برقرار بوده و ایمیج دانلود شده است.