آموزش کامل نصب داکر در لینوکس (اوبونتو، دبیان و CentOS)


تصور کنید برنامه‌ای نوشته‌اید که روی کامپیوتر شما بی‌نقص کار می‌کند، اما وقتی آن را برای همکارتان می‌فرستید، با انواع خطاها مواجه می‌شود. داکر (Docker) دقیقاً برای حل این مشکل به وجود آمده است. اگر بخواهیم به زبان ساده بگوییم داکر چیست، باید بگوییم داکر یک پلتفرم است که به شما اجازه می‌دهد برنامه‌های خود را به همراه تمام نیازمندی‌هایشان (مثل کتابخانه‌ها و تنظیمات) در یک بسته به نام کانتینر (Container) قرار دهید. این کانتینرها روی هر سیستم‌عامل (Operating System) لینوکسی یا ویندوزی که داکر روی آن نصب باشد، دقیقاً به یک شکل اجرا می‌شوند.

مهم‌ترین مزایای داکر شامل ایزوله‌سازی، پایداری و سهولت مدیریت است. تفاوت کانتینر با ماشین مجازی در این است که کانتینرها برخلاف ماشین‌های مجازی، یک سیستم‌عامل کامل را شبیه‌سازی نمی‌کنند، به همین دلیل بسیار سبک‌تر و سریع‌تر هستند. به همین دلیل، کانتینرها بسیار سبک‌تر، سریع‌تر و بهینه‌تر هستند. اگر به دنبال نصب داکر در لینوکس هستید، در این مقاله با آموزش نصب داکر در سیستم‌عامل‌های مختلف لینوکس همراه ما باشید.

پیش‌نیازهای نصب داکر

قبل از شروع به نصب داکر، باید مطمئن شوید که سیستم شما حداقل شرایط لازم را دارد. پیش نیاز نصب داکر بسیار ساده است اما نادیده گرفتن آن می‌تواند فرآیند نصب را با مشکل مواجه کند.

مهم‌ترین پیش‌نیازهای نصب داکر در لینوکس عبارت‌اند از:

  1. نسخه 64 بیتی لینوکس: داکر فقط روی نسخه‌های 64 بیتی سیستم‌عامل لینوکس (Linux) اجرا می‌شود. برای بررسی معماری سیستم خود می‌توانید از دستور uname -m  یا lscpu  استفاده کنید. خروجی باید x86_64  یا amd64  باشد.
  2. دسترسی sudo: برای نصب داکر و اجرای دستورات سیستمی، به کاربری نیاز دارید که دسترسی sudo  داشته باشد. در واقع شما باید بتوانید دستورات را با سطح دسترسی مدیر سیستم اجرا کنید.
  3. به‌روزرسانی پکیج‌ها: همیشه یک قدم مهم قبل از نصب هر نرم‌افزار جدیدی، به‌روزرسانی لیست پکیج‌های سیستم‌عامل است. این کار تضمین می‌کند که شما آخرین نسخه‌های امنیتی و نیازمندی‌ها را دریافت می‌کنید. برای این کار در توزیع‌های مبتنی بر دبیان (مثل اوبونتو) از دستور زیر استفاده کنید:

 

و در توزیع‌های مبتنی بر RHEL (مثل CentOS) از دستور زیر استفاده کنید:

 

با بررسی این سه مورد، شما آماده شروع فرآیند اصلی نصب هستید.

آموزش گام به گام نصب داکر در لینوکس

اکنون که با پیش‌نیازها آشنا شدید، به بخش اصلی مقاله می‌رسیم. در ادامه، آموزش نصب داکر روی لینوکس را به صورت گام‌به گام دنبال خواهیم کرد. از آنجایی که لینوکس (Linux) توزیع‌های مختلفی دارد، ما فرآیند نصب داکر در لینوکس را برای محبوب‌ترین توزیع‌ها یعنی اوبونتو، دبیان و CentOS به صورت جداگانه توضیح می‌دهیم.

  1. نصب داکر روی اوبونتو

اوبونتو یکی از محبوب‌ترین توزیع‌ها برای توسعه‌دهندگان است. برای نصب داکر روی اوبونتو، ما از مخزن رسمی داکر استفاده می‌کنیم تا همیشه آخرین نسخه پایدار را در اختیار داشته باشیم. برای مطالعه بیشتر در این زمینه می‌توانید به مقاله “آموزش نصب داکر اوبونتو مراجعه کنید.

اما چرا نصب داکر روی اوبونتو تنها با یک دستور نیست؟ شاید فکر کنید نصب داکر باید با یک دستور ساده مثل sudo apt install docker  انجام شود. اگرچه ممکن است پکیجی با این نام در مخازن پیش‌فرض اوبونتو وجود داشته باشد، اما این پکیج معمولاً قدیمی است و توسط تیم داکر نگهداری نمی‌شود. نصب از ریپازیتوری (Repository) رسمی داکر (Docker)  تضمین می‌کند که شما نسخه‌ی اصلی، به‌روز و امن Docker Engine  را دریافت می‌کنید. این فرآیند شامل چند مرحله است تا سیستم شما به این مخزن جدید اعتماد و پکیج‌ها را از آنجا دریافت کند.

مراحل نصب داکر روی اوبونتو عبارتند از:

مرحله 1: نصب نیازمندی‌ها

ابتدا، پکیج‌هایی را نصب می‌کنیم که به apt  اجازه می‌دهند تا از یک مخزن از طریق HTTPS استفاده کند:

 

مرحله 2: اضافه کردن کلید GPG رسمی داکر

کلید GPG key  یک امضای دیجیتال است که به سیستم شما اطمینان می‌دهد پکیج‌هایی که از مخزن داکر دانلود می‌کنید، واقعاً توسط تیم داکر ساخته شده و دستکاری نشده‌اند. این یک گام امنیتی مهم است. دستور زیر را وارد کنید:

 

مرحله 3: راه‌اندازی ریپازیتوری داکر

حالا مخزن رسمی داکر را به لیست مخازن apt  اضافه می‌کنیم. با این کار، هر بار که دستور apt update  را اجرا می‌کنید، سیستم شما لیست پکیج‌های موجود در مخزن داکر را نیز بررسی می‌کند.

 

مرحله 4: نصب  Docker Engine

اکنون که همه چیز آماده است، لیست پکیج‌ها را برای آخرین بار آپدیت می‌کنیم و سپس Docker Engine، CLI  و containerd.io  را نصب می‌کنیم. Containerd یک کامپوننت پایه است که وظیفه مدیریت چرخه حیات کانتینرها را بر عهده دارد.

 

مرحله 5: تأیید نصب

برای اطمینان از این که داکر به درستی نصب شده است، می‌توانید یک کانتینر آزمایشی به نام hello-world  را اجرا کنید. این دستور یک ایمیج سبک را دانلود کرده و در یک کانتینر اجرا می‌کند:

اگر پیامی مبنی بر موفقیت‌آمیز بودن اجرا مشاهده کردید، نصب داکر در لینوکس اوبونتو با موفقیت به پایان رسیده است.

نصب داکر روی دبیان

فرآیند نصب داکر روی دبیان بسیار شبیه به اوبونتو است، زیرا دبیان نیز از مدیر پکیج apt  استفاده می‌کند. مراحل زیر را با دقت دنبال کنید.

مرحله 1: حذف نسخه‌های قدیمی

اگر نسخه‌های قدیمی‌تری از داکر روی سیستم شما نصب است، ابتدا آن‌ها را با دستور زیر حذف کنید:

مرحله 2: راه‌اندازی ریپازیتوری

ابتدا نیازمندی‌ها را نصب کنید:

 

سپس، کلید GPG داکر را اضافه کنید:

 

و در نهایت، ریپازیتوری داکر را به سیستم اضافه کنید:

 

مرحله 3: نصب  Docker Engine

حالا با استفاده از دستورات زیر، داکر را نصب کنید:

 

مرحله 4: تأیید نصب

مانند اوبونتو، با اجرای کانتینر hello-world  از صحت نصب اطمینان حاصل کنید:

نصب داکر روی  CentOS

سیستم‌عامل CentOS که از خانواده RHEL است، از مدیر پکیج yum  یا dnf  استفاده می‌کند. فرآیند نصب در این توزیع کمی متفاوت است.

مرحله 1: حذف نسخه‌های قدیمی

ابتدا هر نسخه قدیمی از داکر را پاک کنید:

 

مرحله 2: راه‌اندازی ریپازیتوری

برای نصب و مدیریت ریپازیتوری‌ها در CentOS، از ابزار yum-utils  استفاده می‌شود.

Bash

 

حالا ریپازیتوری رسمی داکر را اضافه کنید:

Bash

 

 

با دستور زیر، مخزن را به نسخه‌های پایدار محدود کنید. این بخش اختیاری است.

Bash

 

مرحله 3: نصب  Docker Engine

اکنون می‌توانید آخرین نسخه Docker Engine، containerd  و ابزارهای کامپوز را نصب کنید:

 

مرحله 4: فعال‌سازی و راه‌اندازی داکر

برخلاف دبیان و اوبونتو، در CentOS باید سرویس داکر را به صورت دستی راه‌اندازی و فعال کنید تا پس از هر بار ریبوت شدن سیستم، به صورت خودکار اجرا شود.

Bash

sudo systemctl daemon-reload

sudo systemctl enable –now docker

مرحله 5: تأیید نصب

در نهایت، با اجرای کانتینر hello-world  نصب را تأیید کنید:

Bash

 

پیکربندی پس از نصب (Post-installation)

پس از نصب موفقیت‌آمیز داکر، چند مرحله پیکربندی اختیاری اما بسیار مفید وجود دارد که تجربه کار با داکر را بهبود می‌بخشد.

اجرای داکر بدون دستور sudo

به‌طور پیش‌فرض، برای اجرای دستورات داکر به دسترسی ریشه (root) یا sudo  نیاز دارید. این امر به دلیل مسائل امنیتی است، زیرا دیمن (daemon) داکر به سوکت یونیکس متصل می‌شود که مالک آن کاربر ریشه است. برای نصب داکر بدون sudo (بهتر است بگوییم اجرای داکر بدون sudo)، باید کاربر فعلی خود را به گروه (Group) داکر اضافه کنید. این گروه در حین نصب به صورت خودکار ایجاد می‌شود. سپس مراحل زیر را طی کنید:

مرحله 1: اضافه کردن کاربر به گروه docker

از دستور زیر استفاده کنید. به جای $USER  می‌توانید نام کاربری خود را قرار دهید، اما متغیر $USER  به‌صورت خودکار نام کاربری فعلی شما را جایگزین می‌کند.

Bash

 

مرحله 2: اعمال تغییرات

برای اینکه این تغییرات اعمال شود، باید از سیستم خارج (log out) و دوباره وارد (log in) شوید، یا از دستور زیر برای فعال‌سازی عضویت در گروه جدید استفاده کنید:

Bash

 

پس از این کار، می‌توانید دستورات داکر را بدون نیاز به sudo  اجرا کنید:

Bash

 

فعال‌سازی و بررسی سرویس داکر

همان‌طور که در بخش CentOS اشاره شد، مهم است که سرویس (Service) داکر را فعال کنید تا با هر بار راه‌اندازی مجدد سیستم، به طور خودکار اجرا شود.

برای فعال‌سازی سرویس داکر از دستور زیر استفاده کنید:

Bash

 

این دستورات تضمین می‌کنند که سرویس‌های داکر و کانتینرد در بوت بعدی سیستم فعال خواهند بود.

برای بررسی وضعیت فعلی سرویس داکر، می‌توانید از دستور status  استفاده کنید:

Bash

 

خروجی این دستور به شما نشان می‌دهد که آیا سرویس داکر فعال (active (running)) است یا خیر. همچنین لاگ‌های اخیر مربوط به سرویس را نیز نمایش می‌دهد.

بررسی تفاوت Docker Engine و Docker Desktop در لینوکس

وقتی صحبت از داکر در لینوکس می‌شود، دو گزینه اصلی پیش روی شماست: داکر انجین (Docker Engine) و داکر دسکتاپ (Docker Desktop). دانستن تفاوت این دو به شما کمک می‌کند تا ابزار مناسب را برای نیاز خود انتخاب کنید. برای شناخت بیشتر تفاوت‌ها، بیایید ابتدا با هر یک از این دو داکر آشنا شویم.

Docker Engine چیست؟

Docker Engine همان داکری است که ما در این مقاله راهنمای نصب آن را قرار دادیم. داکر انجین یک برنامه کلاینت-سرور متن-باز است که شامل موارد زیر می‌شود:

  • یک سرویس (دیمن) با نام dockerd
  • یک رابط برنامه‌نویسی (API) که برنامه‌ها از طریق آن با دیمن صحبت می‌کنند
  • یک رابط خط فرمان (CLI) به نام docker

Docker Engine ابزار اصلی و سبک برای اجرای کانتینرها در سرورهای لینوکسی و محیط‌های توسعه است. این ابزار به صورت مستقیم روی سیستم‌عامل لینوکس اجرا می‌شود و نیازی به مجازی‌سازی (Virtualization) اضافی ندارد.

Docker Desktop for Linux چیست؟

Docker Desktop یک برنامه کاربردی با رابط گرافیکی (GUI) است که تجربه کار با داکر را ساده‌تر می‌کند. این برنامه علاوه بر Docker Engine، شامل ابزارهای دیگری مانند Docker Compose، Kubernetes  و BuildKit نیز می‌شود. نصب داکر دسکتاپ در لینوکس برای کاربرانی که به دنبال یک محیط یکپارچه و گرافیکی هستند، بسیار جذاب است.

تفاوت‌های کلیدی Docker Engine و Docker Desktop for Linux

برای درک دقیق‌تر این تفاوت‌ها، می‌توانید موارد زیر را در جدول مقایسه کنید:

ویژگی

Docker Engine

Docker Desktop for Linux

محیط

خط فرمان  (CLI)

رابط گرافیکی  (GUI) + CLI

اجزا

داکر انجین، CLI، containerd

داکر انجین، Kubernetes، Docker Compose، GUI

نصب

از طریق مخازن پکیج apt,yum))

از طریق پکیج .deb یا  .rpm

نیاز به مجازی‌سازی

خیر (اجرای بومی روی لینوکس)

بله (یک ماشین مجازی سبک برای ایزوله‌سازی ایجاد می‌کند)

مخاطب

سرورها، توسعه‌دهندگان حرفه‌ای

توسعه‌دهندگان روی دسکتاپ، مبتدیان، تیم‌ها

نصب Docker Engine در لینوکس چه تفاوتی با Docker Desktop دارد؟

تفاوت اصلی در سادگی و اجزای همراه است. نصب Docker Engine یک فرآیند فنی‌تر است که به شما کنترل کامل روی اجزای نصب‌شده را می‌دهد و برای محیط‌های سرور بهینه‌سازی شده است. در مقابل، نصب Docker Desktop for Linux  یک پکیج واحد را نصب می‌کند که تمام ابزارها را به صورت یکپارچه ارائه می‌دهد و یک رابط کاربری گرافیکی برای مدیریت کانتینرها، ایمیج‌ها و والیوم‌ها در اختیار شما قرار می‌دهد.

داکر دسکتاپ برای لینوکس مناسب است؟

بله، کاملاً. داکر دسکتاپ برای لینوکس برای توسعه‌دهندگانی که روی ماشین لینوکسی خود کد می‌زنند و می‌خواهند به سرعت بین پروژه‌های مختلف جابه‌جا شوند، یک ابزار فوق‌العاده است. قابلیت یکپارچه‌سازی با کوبرنیتس (Kubernetes)، مدیریت آسان کانتینرها از طریق رابط گرافیکی و دسترسی به افزونه‌ها (Extensions) از مزایای بزرگ آن است. با این حال، برای سرورهای محصول (Production Servers)، استفاده از Docker Engine به دلیل سبکی و کنترل بیشتر، همچنان انتخاب استاندارد است.

حل مشکلات احتمالی

گاهی اوقات، حتی با وجود استفاده از دقیق‌ترین راهنماها، ممکن است در حین نصب با خطا مواجه شوید. در ادامه به برخی از مشکلات و خطاهای نصب داکر و راه‌حل‌های آن‌ها می‌پردازیم.

  1. خطای Permission denied  هنگام اجرای دستور docker

  • مشکل: این رایج‌ترین خطا پس از نصب است و زمانی رخ می‌دهد که شما تلاش می‌کنید دستورات داکر را بدون sudo  اجرا کنید و کاربر خود را به گروه docker  اضافه نکرده‌اید.
  • راه‌حل: همانطور که در بخش «پیکربندی پس از نصب» توضیح داده شد، کاربر خود را با دستور sudo usermod -aG docker $USER  به گروه docker  اضافه کنید و سپس از سیستم خارج و دوباره وارد شوید.
  1. خطای E: Unable to locate package docker-ce

  • مشکل: این خطا در توزیع‌های مبتنی بر دبیان/اوبونتو رخ می‌دهد و به این معنی است که مدیر پکیج apt  نمی‌تواند پکیج docker-ce  را در مخازنی پیدا کند که می‌شناسد.
  • راه‌حل:
  • مطمئن شوید که دستور sudo apt-get update  را پس از اضافه کردن ریپازیتوری داکر اجرا کرده‌اید.
  • بررسی کنید که آیا معماری سیستم شما (مثلاً arm64)  توسط مخزن داکر پشتیبانی می‌شود یا خیر.
  • محتوای فایل /etc/apt/sources.list.d/docker.list  را بررسی کنید تا از صحت آن اطمینان حاصل کنید.
  1. خطای مربوط به  GPG key

  • مشکل: خطاهایی مانند GPG error: … NO_PUBKEY …  به این معنی است که کلید GPG به درستی اضافه نشده یا منقضی شده است.
  • راه‌حل: مراحل مربوط به اضافه کردن GPG key را دوباره با دقت اجرا کنید. مطمئن شوید که دسترسی به اینترنت دارید و فایروال شما دسترسی به download.docker.com  را مسدود نکرده است.
  1. سرویس داکر اجرا نمی‌شود

  • مشکل: پس از نصب، ممکن است سرویس داکر به صورت خودکار اجرا نشود.
  • راه‌حل: از دستور sudo systemctl start docker  برای راه‌اندازی دستی سرویس استفاده کنید. سپس با sudo systemctl status docker  وضعیت آن را بررسی و لاگ‌ها را برای یافتن علت مشکل مطالعه کنید. معمولاً لاگ‌ها اطلاعات خوبی درباره خطاهای پیکربندی ارائه می‌دهند.

جمع‌بندی و مراحل بعدی

در این مقاله، ما یک راهنمای جامع برای نصب داکر در توزیع‌های مختلف لینوکس (اوبونتو، دبیان و CentOS) ارائه دادیم. از پیش‌نیازها و نصب گام‌به‌گام گرفته تا پیکربندی‌های پس از نصب و حل مشکلات رایج، تمام جنبه‌های کلیدی پوشش داده شد. همچنین تفاوت بین Docker Engine و Docker Desktop را بررسی کردیم تا بتوانید بهترین ابزار را برای نیاز خود انتخاب کنید.

اما پس از نصب داکر چه باید کرد؟ اکنون که داکر روی سیستم شما نصب و آماده به کار است، دنیایی از امکانات پیش روی شماست. اولین قدم‌ها برای شروع کار با داکر عبارتند از:

  1. کشیدن (Pull) یک ایمیج داکر (Docker Image): ایمیج‌ها قالب‌هایی هستند که برای ساخت کانتینرها استفاده می‌شوند. شما می‌توانید یک ایمیج آماده را از Docker Hub (مخزن عمومی ایمیج‌های داکر) بکشید. برای مثال، بیایید ایمیج رسمی وب‌سرور Nginx را بکشیم:

  1. اجرای اولین کانتینر (Container): حالا که ایمیج را دارید، می‌توانید یک کانتینر از روی آن بسازید و اجرا کنید. دستور زیر یک کانتینر Nginx را در پس‌زمینه اجرا می‌کند و پورت 80 کانتینر را به پورت 8080 سیستم شما متصل می‌کند:

حالا اگر در مرورگر خود آدرس http://localhost:8080  را باز کنید، صفحه خوش‌آمدگویی Nginx را خواهید دید.

  1. یادگیری دستورات بیشتر: با دستوراتی مانند docker ps  (برای دیدن کانتینرهای در حال اجرا)، docker images  (برای دیدن ایمیج‌های دانلود شده) و docker stop <container_name>  (برای متوقف کردن یک کانتینر) آشنا شوید.

قدم بعدی شما می‌تواند یادگیری مفاهیم پیشرفته‌تر باشد. برای این منظور، مطالعه مقاله آموزش ساخت کانتینر داکر را به شما پیشنهاد می‌کنیم تا یاد بگیرید چگونه ایمیج‌های اختصاصی خود را برای برنامه‌هایتان بسازید. اگر شما هم در مورد نصب داکر در لینوکس تجربه یا سوالی دارید، حتماً از بخش نظرات با تجربیات و سوالات خود را با ما به اشتراک بگذارید.

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *