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

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

سرفصل ها:

****

کاربرد داکر در لینوکس

دلایل استفاده از داکر (Docker) برای خدمات لینوکس چیست؟

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

Screenshot

یکی از ویژگی‌های قدرتمند Docker این است که هنگامی که یک کانتینر در یک توزیع کار می‌کند، کارکرد آن در سایر توزیع‌ها فرآیندی نسبتاً ساده است. این به این دلیل است که داکر تفاوت‌های بین این توزیع‌های لینوکس را خلاصه می‌کند و آن را با تغییرات کمی روی کانتینر سازگار می‌کند.

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

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

با بررسی اثر انگشت کلید عمومی پروژه رسمی Docker شروع کنید:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --show-keys --with-fingerprint

در حال حاضر، اثر انگشت کلید امضای پروژه داکر: 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 است.

Screenshot

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

پس از تأیید اعتبار کلید امضا، آن را دانلود و در پوشه /etc/apt/keyrings خود ذخیره کنید:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

از درست بودن بیت های پرمیژن فایل کلیدی اطمینان حاصل کنید:

sudo chmod a+r /etc/apt/keyrings/docker.gpg

یک فایل مخزن جدید برای پروژه Docker ایجاد کنید:

sudo nano /etc/apt/sources.list.d/docker.list

خط کد زیر را در فایل مخزن جدید خود قرار دهید:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable

فایل مخزن جدید خود را ذخیره کنید، سپس مخازن بسته سیستم خود را به روز کنید:

sudo apt update && sudo apt upgrade

بسته‌های هسته Docker را به همراه افزونه Docker Compose نصب کنید. اینها به شما امکان می‌دهند برنامه‌های Docker را مستقر کرده و آن‌ها را به درستی هماهنگ کنید:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

بیشتر دستورات docker باید با sudo پیشوند شوند. اگر می‌خواهید مجبور نباشید رمز عبور خود را هر بار تایپ کنید، حساب کاربری خود را به گروه docker اضافه کنید:

sudo adduser YOUR-CURRENT-USERNAME docker

از رابط کاربری گرافیکی خود خارج شوید و دوباره وارد شوید. اکنون می‌توانید به جای sudo docker ps از دستوراتی مانند docker ps استفاده کنید.

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

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

برای شروع، کلید امضای مخزن Docker را از پروژه Docker واکشی کنید:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

توجه: درست مانند اوبونتو، شما همچنین باید اثر انگشت GPG مخزن دبیان داکر را تأیید کنید. در حال حاضر: 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88.

فایل مخزن apt را برای پروژه Docker ایجاد کنید:

sudo nano /etc/apt/sources.list.d/docker.list

خط کد زیر را در داخل فایل مخزن قرار دهید:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable

لیست‌های مخزن دستگاه را تازه کنید و سیستم دبیان خود را به روز کنید:

1sudo apt update && sudo apt upgrade

بسته های هسته Docker و افزونه Docker Compose را واکشی و نصب کنید:

1sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

حساب کاربری خود را به گروه docker اضافه کنید:

1sudo usermod -aG docker YOUR-USERNAME

برای اعمال تنظیمات جدید، ماشین دبیان خود را مجددا راه اندازی کنید، سپس دستور زیر را اجرا کنید تا بررسی کنید که آیا نصب داکر به درستی کار می کند یا خیر:

1docker -v

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

برای نصب Docker و Docker Compose در فدورا، ابتدا برنامه مدیریت dnf را دریافت کنید:

1sudo dnf install dnf-plugins-core

جزئیات مخزن Docker را واکشی کنید و آن را به نصب dnf خود متعهد کنید:

1sudo dnf config-manager –add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Docker ،Docker Compose و وابستگی‌های آن‌ها را نصب کنید:

1sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Screenshot

تأیید کنید که اثر انگشت مخزن Docker این است: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35. حرف y را تایپ کنید، سپس Enter را فشار دهید تا فرآیند نصب ادامه یابد:

سرویس Docker systemd را فعال و راه‌اندازی کنید:

1sudo systemctl enable –now docker.service

مطمئن شوید که حساب کاربری فعلی شما در گروه کاربری docker قرار دارد:

1sudo usermod -aG docker YOUR-USERNAME

از سیستم خارج شوید و دوباره وارد رابط کاربری گرافیکی خود شوید، سپس نصب Docker خود را با اجرای Hello, world! آزمایش کنید:

1docker run hello-world

نصب داکر در ردهت

Red Hat Enterprise Linux (RHEL) یک توزیع پایدار و طولانی مدت در پایین دست فدورا است. برخلاف بالادست خود، RHEL یک محیط ثابت و محکم را فراهم می‌کند که در آن می‌توانید برنامه‌های خود را به طور قابل اعتماد اجرا کنید. این آن را به سیستمی عالی برای استقرار برنامه‌هایی تبدیل می‌کند که می‌خواهید بدون وقفه اجرا کنید.

با واکشی فایل مخزن برای پروژه Docker شروع کنید:

1sudo dnf config-manager –add-repo https://download.docker.com/linux/rhel/docker-ce.repo

Docker ،Docker Compose و وابستگی‌های آن‌ها را دریافت و نصب کنید:

1sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

همچنین می‌توانید نسخه Docker را که می‌خواهید روی سیستم خود اجرا کنید را مشخص کنید. برای انجام این کار، نسخه‌های موجود Docker را برای دستگاه خود فهرست کنید:

1dnf list docker-ce –showduplicates

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

دستور زیر را در ترمینال خود قرار دهید، سپس مقدار متغیر version را با شماره نسخه خود جایگزین کنید:

1version=”YOUR-VERSION-NUMBER-HERE”

نسخه خاص Docker را در سیستم خود نصب کنید:

1sudo dnf install docker-ce-3:$version docker-ce-cli-1:$version containerd.io docker-buildx-plugin docker-compose-plugin

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

sudo systemctl enable --now docker.service

کاربر فعلی خود را به گروه کاربر docker اضافه کنید:

sudo useradd -aG docker YOUR-USERNAME

با اجرای docker –version برای لیست کردن شماره نسخه آن، بررسی کنید که آیا Docker به درستی کار می‌کند.

نصب داکر در آرچ

Arch Linux قبلاً Docker و Docker Compose را در مخازن انجمن خود گنجانده است. این کار نصب هر دو را به سادگی اجرای Pacman می‌کند:

sudo pacman -S docker docker-compose containerd docker-buildx
Screenshot

حساب کاربری فعلی را به گروه Docker اضافه کنید:

sudo usermod -aG docker YOUR-USERNAME

دستگاه خود را مجدداً راه‌اندازی کنید تا سیستم خود را مجدداً بارگیری کنید و Daemon Docker را راه‌اندازی کنید.

سرویس Docker را فعال کنید تا به طور خودکار هنگام بوت شروع شود و آن را در جلسه فعلی اجرا کند:

1sudo systemctl enable –now docker.service

با اجرای کانتینر Hello, world آزمایش کنید که آیا داکر به درستی کار می‌کند یا خیر:

1docker run hello-world
Screenshot

استقرار اولین کانتینر Docker

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

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

گفته شد، با رفتن به Docker Hub و جستجوی برنامه‌ای که می‌خواهید نصب کنید، شروع کنید. برای این، من از ظرف Nginx Docker استفاده خواهم کرد زیرا می‌خواهم یک وب‌سایت استاتیک اولیه را ارائه دهم.

Screenshot

به جلسه ترمینال خود برگردید، سپس یک دایرکتوری برای ظرف Docker خود ایجاد کنید:

1mkdir ./docker-nginx && cd ./docker-nginx

وب سایت استاتیک خود را در دایرکتوری Docker کپی کنید:

1cp -r ~/html-site ./docker-nginx

با استفاده از ویرایشگر متن دلخواه خود، یک Dockerfile در فهرست جدید خود ایجاد کنید:

1nano ./Dockerfile

خطوط کد زیر را داخل Dockerfile خود قرار دهید. با این کار تصویر Nginx بارگیری می‌شود و وب‌سایت ثابت از پوشه html-site من در پوشه html داخل ظرف کپی می‌شود.

12FROM nginxCOPY html-site /usr/share/nginx/html

Dockerfile خود را ذخیره کنید، سپس ظرف Nginx Docker را بسازید:

1docker build -t static-nginx .

کانتینر جدید Docker را با استفاده از دستور فرعی run اجرا کنید:

1docker run –name my-nginx-website –publish 8080:80 -d static-nginx

استفاده از Docker Compose برای اجرای کانتینر

جدا از اجرای مستقیم در خط فرمان، می‌توانید از Docker Compose نیز برای راه‌اندازی کانتینر خود استفاده کنید. این راهی برای ایجاد تنظیمات Docker قابل تکرار است که می‌تواند در استقرارهای پیچیده‌تر مفید باشد.

یک فایل docker-compose.yml در دایرکتوری Docker خود ایجاد کنید:

1nano docker-compose.yml

بلوک کد زیر را در فایل Compose خود قرار دهید:

12345678services:  nginx:    container_name: my-nginx-website    build:      context: .      dockerfile: Dockerfile    ports:      – 8080:80

فایل docker-compose.yml خود را ذخیره کنید، سپس ظرف Docker خود را راه اندازی کنید:

1docker compose up -d

با مراجعه به localhost:8080 با استفاده از مرورگر وب خود، بررسی کنید که آیا وب سایت جدید شما به درستی کار می‌کند.

منبع:

اوپن کانتنت

*******

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

فهرست محتوای این مقاله

1 پیش نیازهای نصب داکر، بر روی اوبونتو

2 ورژن‌های اوبونتو برای نصب داکر

3 پردازنده

4 مراحل نصب داکر بر روی اوبونتو

5 اجرای داکر با کاربر غیر root

پیش نیازهای نصب داکر، بر روی اوبونتو

داکر، برخی از خدمات خود را، برای ایران و چند کشور دیگر، مسدود کرده است. به این دلیل، دانلود imageها، از داکرهاب و همچنین اجرای برخی از دستورات، که هنگام اجرا، به سایت، متصل می‌شوند، از طریق IPهای ایران، امکان‌پذیر نمی‌باشد. کاربران در ایران، تنها از طریق تغییر IP، قادر به دسترسی مستقیم به تمام سرویس‌های داکر می‌باشند.

ورژن‌های اوبونتو برای نصب داکر

برای نصب موتور داکر، از ورژن‌های 64 بیتی ذکر شده‌ی زیر می‌توانید استفاده نمایید.

  • اوبونتو نسخه‌ی Impish 21.10
  • نسخه‌ی Ubuntu Hirsute 21.04
  • اوبونتو نسخه‌ی Groovy 20.10
  • نسخه‌ی Ubuntu Focal 20.04 (LTS)
  • اوبونتو نسخه‌ی Bionic 18.04 (LTS)

پردازنده

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

  • x86_64 (amd64)
  • armhf
  • arm64
  • s390x

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

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

sudo apt-get remove docker docker-engine docker.io containerd runc

سپس، در ابتدا repository اوبونتو را بروز رسانی می‌نماییم و نرم‌افزارهای زیر را بر روی آن نصب می‌نماییم.

sudo apt-get update sudo apt-get install \    apt-transport-https \    ca-certificates \    curl \    gnupg \    lsb-release

بعد از انجام عملیات نصب، در مرحله‌ی بعد کلید GPG داکر را اضافه می‌کنیم:

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

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

 echo \  "deb [arch=amd64 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

اکنون، همه چیز، برای نصب داکر بر روی اوبونتو آماده است. ابتدا دستور update را برای بروزرسانی مخزن اوبونتو اجرا کرده و سپس دستور نصب را اجرا می‌نماییم.

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

تبریک! اکنون، داکر بر روی اوبونتوی شما نصب گردید. برای اطمینان از صحت مراحل نصب با اولین دستور شروع می‌کنیم:

1234567891011121314151617181920212223242526 sudo docker run hello-worldHello from Docker!This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the “hello-world” image from the Docker Hub.    (amd64) 3. The Docker daemon created a new container from that image which runs the    executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it    to your terminal.To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID: https://hub.docker.com/For more examples and ideas, visit: https://docs.docker.com/get-started/kazemian@upgradit:~$

به علت اینکه این image هنوز نصب دانلود نشده و در مخزن محلی موجود نیست، داکر آنرا از روی داکرهاب دانلود کرده و آن را اجرا می‌کند. سپس بعد از اجرا شما پیام !Hello from Docker را مشاهده می‌نمایید.

اجرای داکر با کاربر غیر root

دستورات داکر، بطور پیش‌فرض با دسترسی کاربر root اجرا می‌شود. بنابراین در اوبونتو قبل از دستور داکر باید sudo را اضافه نماییم. برای اینکه نیاز به اضافه کردن sudo نباشد، می‌توانیم نام user مورد نظر را که مایل هستیم به گروه داکر در etc/group/ اضافه نماییم. در موقع نصب داکر، گروه docker به اوبونتو اضافه می‌شود. مثلا برای اضافه‌کردن کاربر kazemian به گروه docker از دستور زیر استفاده می‌نماییم. با خروج از اوبونتو و ورود مجدد با کاربر kazemian، دیگر برای اجرای دستور داکر نیاز به sudo نمی‌باشد.

1234 usermod -aG docker :~

برای مشاهده‌ی ورژن داکری که، بر روی سیستم خود نصب نموده‌اید، از دستور زیر استفاده می‌نماییم:

12345 docker –version Docker version 20.10.8, build 3967b7dkazemian@upgradeit:~

برای مشاهده‌ی جزئیات بیشتر، از وضعیت داکر نصب شده، از دستور، زیر استفاده می‌کنیم.

docker info