نحوه نصب داکر در اوبونتو #
مقدمه #
داکر یک پلتفرم متنباز است که برای خودکارسازی استقرار، مقیاسپذیری و مدیریت برنامه با استفاده از کانتینرها طراحی شده است. کانتینرها بستههای اجرایی سبک و قابل حملی هستند که شامل تمام منابع لازم برای اجرای یک برنامه هستند. یک کانتینر شامل کد برنامه، زمان اجرا، کتابخانهها و وابستگیهایی است که ثبات را هنگام اجرای برنامه تضمین میکند.
این مقاله نحوه نصب Docker روی سرور Ubuntu 24.04، اجرای یک برنامه کانتینر شده و استقرار آن در سرور مجازی را توضیح میدهد.
نمونههای سرورهای گرافیکی که اوبونتو را اجرا میکنند، Docker را به عنوان یک ویژگی از پیش نصب شده دارند. تلاش برای نصب Docker روی این سرورها ممکن است منجر به تداخل با NVIDIA Container Toolkit شود و به طور بالقوه بر عملکرد GPU و سازگاری کانتینر تأثیر بگذارد.
پیش نیازها #
قبل از شروع :
- یک سرور مجازی که روی آن سیستم عامل ubuntu نصب شده باشد.
- دسترسی یوزر root به سرور مجازی.
- سرور را بهروزرسانی کنید .
نصب داکر #
- تمام بستههای وابستگی مورد نیاز را نصب کنید.console
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common -y - کلید Docker GPG را به حلقه کلید سرور خود اضافه کنید.console
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc - آخرین مخزن داکر را به منابع APT خود اضافه کنید.console
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- فهرست بستههای سرور را بهروزرسانی کنید.console
$ sudo apt update - داکر را نصب کنید.console
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginدستور بالا آخرین نسخه داکر را به همراه افزونه های زیر نصب میکند :
docker-ceبستهی نسخهی عمومی موتور داکر.docker-ce-cliرابط خط فرمان داکر (CLI) را فعال میکند.containerd.io: یک محیط اجرای کانتینر که چرخه حیات کانتینرهای داکر را رصد میکند.docker-buildx-plugin: قابلیتهای ساخت ایمیج داکر را برای ساختهای چند پلتفرمی بهبود میبخشد.docker-compose-plugin: مدیریت برنامههای داکر چند کانتینری را با استفاده از فایلهای YAML فعال میکند.
- نسخه داکر نصب شده روی سرور خود را مشاهده کنید.console
$ sudo docker --versionخروجی :
Docker version 26.1.4, build 5650f9b
مدیریت سرویس سیستم داکر #
- سرویس سیستمی داکر را طوری فعال کنید که به طور خودکار در زمان بوت شدن سیستم شروع به کار کند.console
$ sudo systemctl enable docker
- وضعیت سرویس Docker را مشاهده کنید و تأیید کنید که در حال اجرا است.console
$ sudo systemctl status dockerخروجی:
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled) Active: active (running) since Mon 2024-06-17 21:07:25 UTC; 1min 2s ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 120312 (dockerd) Tasks: 8 Memory: 34.5M (peak: 35.3M) CPU: 281ms CGroup: /system.slice/docker.service └─۱۲۰۳۱۲ /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock - برای متوقف کردن داکر، دستور زیر را اجرا کنید.console
$ sudo systemctl stop docker - سرویس داکر را مجدداً راهاندازی کنید.console
$ sudo systemctl restart docker
اجرای یک برنامه کانتینر شده #
داکر برنامههای کانتینرشده را با استفاده از تصاویر کانتینر محلی یا از راه دور از رجیستریهایی مانند Docker Hub اجرا میکند. مراحل زیر را برای اجرای یک برنامه کانتینرشده نمونه Nginx دنبال کنید تا داکر را روی سرور خود آزمایش کنید.
- آخرین ایمیج Nginx را از Docker Hub دریافت کنید.console
$ sudo docker pull nginx:latest - تمام تصاویر Docker را روی سرور مشاهده کنید و تأیید کنید که تصویر Nginx در دسترس است.
$ sudo docker imagesخروجی:
REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest dde0cca083bc 2 weeks ago 188MB - با استفاده از ایمیج، یک کانتینر داکر جدید اجرا کنید.console
$ sudo docker run --name mynginx -d -p ۸۰:۸۰ nginx:latest
دستور بالا یک کانتینر داکر جدید را با استفاده از ایمیج Nginx شما و با مقادیر زیر روی سرور اجرا میکند:
-name mynginx: نام کانتینر را روی تنظیم میکندmynginx.dکانتینر را در حالت جدا شده به عنوان یک فرآیند پسزمینه روی سرور اجرا میکند.p 80:80پورت میزبان را۸۰به پورت کانتینر نگاشت میکند۸۰. این به شما امکان میدهد با استفاده از پورت میزبان روی سرور خود به کانتینر دسترسی داشته باشید.nginx:latest: تصویر داکر را برای استفاده هنگام ایجاد کانتینر تنظیم میکند.
- تمام کانتینرهای در حال اجرا روی سرور را فهرست کنید و تأیید کنید که کانتینر جدید راهاندازی شده است.console
$ sudo docker psخروجی :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d79cad9ea8d2 nginx:latest "/docker-entrypoint.…" ۵ seconds ago Up 4 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp mynewnginx - به پورت HTTP
۸۰از طریق فایروال اجازه دهید تا اتصال به پورت فعال شود.console$ sudo ufw allow ۸۰/tcp
- برای آزمایش دسترسی به کانتینر داکر، با استفاده از یک مرورگر وب مانند کروم، به آدرس IP سرور خود دسترسی پیدا کنید.
http://SERVER-IP
یک برنامه کانتینر شده را در رجیستری کانتینر مستقر کنید #
داکر از رجیستریهای عمومی و خصوصی برای ساخت و استقرار تصاویر کانتینر روی سرور شما پشتیبانی میکند. رجیستری کانتینر به شما امکان میدهد Image داکر بسازید، نسخههای متعدد را مدیریت کنید و image ها را در محیطهای مختلف توزیع کنید. مراحل زیر را برای برچسبگذاری و استقرار تصویر محلی Nginx خود در رجیستری کانتینر با استفاده از داکر دنبال کنید.
- به ناحیه کاربری خود بروید .
- به پنل مدیریت رجیستری خود دسترسی پیدا کنید و اعتبارنامههایی را که هنگام دسترسی به رجیستری باید استفاده کنید، یادداشت کنید.
- به بخش ترمینال سرور خود دسترسی پیدا کنید و دستور Docker زیر را برای ورود به رجیستری کانتینر اجرا کنید. و
samplecontainerregistryرا با جزئیات رجیستری واقعی خود جایگزین کنید.example-userapikey1234console$ sudo docker login https://negarnovin.com/samplecontainerregistry -u example-user -p apikey1234 - ایمیج Nginx Docker خود را با رجیستری کانتینر خود برچسبگذاری کنید.console
$ sudo docker tag nginx:latest negarnovin.com/samplecontainerregistry/mynginx:latest - تمام image Docker را روی سرور مشاهده کنید و تأیید کنید که ایمیج جدید در دسترس است.
$ sudo docker imagesخروجی:
REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest dde0cca083bc 2 weeks ago 188MB negarnovin.com/samplecontainerregistry/mynginx latest dde0cca083bc 2 weeks ago 188MB - ایمیج برچسبگذاری شده را به رجیستری کانتینر خود منتقل کنید.console
$ sudo docker push negarnovin.com/samplecontainerregistry/mynginx:latest - به پنل مدیریت رجیستری کانتینر خود دسترسی پیدا کنید.
- به برگه مخازن (Repositories) بروید و تأیید کنید که تصویر جدید داکر (Docker image) در دسترس است.

- دستور زیر را برای دریافت تصویر از رجیستری کانتینر اجرا کنید.console
$ sudo docker pull negarnovin.com/samplecontainerregistry/mynginx:latest
نتیجهگیری #
شما Docker را روی Ubuntu 24.04 نصب کردهاید، یک برنامه کانتینری شده را اجرا کردهاید و ایمیج کانتینر محلی را در رجیستری کانتینر مستقر کردهاید. میتوانید چندین ایمیج Docker را روی سرور خود اجرا کنید و بدون دسترسی مستقیم به محیط کانتینر، به طور ایمن به آنها دسترسی داشته باشید. برای اطلاعات بیشتر، به مستندات مرجع Docker مراجعه کنید .

