نحوه نصب داکر روی راکی لینوکس #
مقدمه #
داکر یک پلتفرم متنباز است که امکان ایجاد، بستهبندی، توزیع و استقرار برنامهها را با استفاده از کانتینرهای سبک و قابل حمل فراهم میکند. هر کانتینر شامل تمام وابستگیهای لازم در زمان اجرا، کتابخانهها، کد برنامه و پارامترهای پیکربندی مورد نیاز برای اجرای قابل اعتماد نرمافزار در محیطهای مختلف و روی هر سیستم میزبانی است. در Rocky Linux 9، داکر روشی سازگار و کارآمد برای مدیریت برنامههای کانتینر شده ارائه میدهد و توسعه، آزمایش و استقرار نرمافزار در محیطهای ایزوله را آسانتر میکند.
این مقاله نحوه نصب Docker روی Rocky Linux 9 و اجرای برنامههای کانتینری روی سرور شما را توضیح میدهد. شما موتور Docker را راهاندازی خواهید کرد که به شما امکان میدهد کانتینرهای سبک و قابل حمل ایجاد و مدیریت کنید. برای کسانی که از توزیعهای دیگر لینوکس استفاده میکنند، میتوانید نصب جدیدترین بستههای Docker را پوشش میدهد.
پیشنیازها #
قبل از شروع:
- یک سرور مجازی که روی آن راکی لینوکس نصب شده باشد.
- برای ذخیره ایمیج Docker خود، یک رجیستری کانتینر ایجاد کنید.
- دسترسی روت به سرور مجازی.
- بروزرسانی سرور انجام شده باشد .
نصب داکر روی راکی لینوکس ۹ #
داکر در مخازن بسته پیشفرض راکی لینوکس ۹ موجود است، اما ممکن است اطلاعات نسخه جدیدترین نباشد. مراحل زیر را دنبال کنید تا آخرین اطلاعات مخزن را اضافه کنید و داکر را با استفاده از DNFمدیر بسته پیشفرض روی سرور خود نصب کنید.
- بسته را نصب کنید
dnf-utils.کنسول$ sudo dnf install -y dnf-utils - مخزن رسمی داکر را به منابع بسته خود اضافه کنید.کنسول
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo - داکر و تمام بستههای وابستگی مورد نیاز مانند
containerd.io.کنسول$ sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
مدیریت سرویس سیستم داکر #
موتور داکر از dockerسرویس systemd برای اجرا و مدیریت فرآیندهای daemon روی سرور شما استفاده میکند. فقط کاربران دارای امتیاز میتوانند به Docker CLI دسترسی داشته باشند و فرآیندهای برنامه کانتینر شده را مدیریت کنند. مراحل زیر را برای مدیریت سرویس سیستم Docker دنبال کنید و به کاربران سیستم بدون امتیاز اجازه دهید از Docker CLI برای مدیریت برنامههای کانتینر شده روی سرور استفاده کنند.
- سرویس Docker را طوری فعال کنید که به طور خودکار هنگام بوت سیستم شروع شود.کنسول
$ sudo systemctl start docker - سرویس داکر را شروع کنید.کنسول
$ sudo systemctl start docker - وضعیت سرویس Docker را مشاهده کنید و تأیید کنید که در حال اجرا است.کنسول
$ sudo systemctl status dockerخروجی:
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; preset: disabled) Active: active (running) since Sat 2024-07-06 00:00:46 UTC; 35s ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 6412 (dockerd) Tasks: 7 Memory: 65.5M CPU: 233ms CGroup: /system.slice/docker.service └─۶۴۱۲ /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sockسرویس Docker بر اساس
active (running)اعلان موجود در خروجی بالا، فعال و در حال اجرا بر روی سرور مجازی شما است. - سرویس داکر را متوقف کنید.کنسول
$ sudo systemctl stop docker - سرویس داکر را مجدداً راهاندازی کنید.کنسول
$ sudo systemctl restart docker
استقرار برنامه های کانتینر شده با استفاده از داکر #
داکر میتواند برنامهها را از منابع تصویر کانتینر مانند Docker Hub پیدا و اجرا کند. مراحل زیر را برای استقرار یک برنامه کانتینر شده نمونه با استفاده hello worldاز تصویر Docker Hub دنبال کنید و فرآیندهای کانتینر را روی سرور خود تأیید کنید.
crccheck/hello-worldایمیج داکر را از داکر هاب دریافت کنید .کنسول$ docker pull crccheck/hello-world- تمام تصاویر Docker موجود در سرور خود را فهرست کنید و تأیید کنید که تصویر جدید در دسترس است.کنسول
$ docker imagesخروجی:
REPOSITORY TAG IMAGE ID CREATED SIZE crccheck/hello-world latest 24349d78cb62 2 years ago 1.24MB - با استفاده از تصویر داکر، یک برنامه کانتینر شده جدید را مستقر کنید
hello-world.کنسول$ docker run -d --name web-test -p ۸۰:۸۰۰۰ crccheck/hello-world
دستور بالا یک کانتینر داکر جدید با پیکربندی زیر اجرا میکند:
-dکانتینر را در حالت جدا شده به عنوان یک فرآیند پسزمینه شروع میکند.--name web-test: نام برنامه کانتینر شده راweb-testبرای شناسایی و مدیریت اختصاص میدهد.-p 80:8000پورت localhost را۸۰به پورت کانتینر نگاشت میکند۸۰۰۰تا دسترسی به برنامه کانتینر شده را فعال کند.crccheck/hello-world: تصویر داکر را برای استفاده هنگام ایجاد کانتینر تنظیم میکند.
- تمام کانتینرهای فعال داکر که روی سرور شما در حال اجرا هستند را فهرست کنید.کنسول
$ docker psتأیید کنید که
web-testکانتینر فعال است و خروجی مشابه زیر را نشان میدهد.CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 74609506c374 crccheck/hello-world "/bin/sh -c 'echo \"h…" ۶ seconds ago Up 6 seconds (health: starting) 0.0.0.0:80->8000/tcp, :::80->8000/tcp web-test ۸۰با استفاده از این ابزار به پورت localhost خود دسترسی پیدا کنیدcurlو تأیید کنید که برنامه شما به درخواستهای کاربر پاسخ میدهد.کنسول$ curl ۱۲۷.۰.۰.۱:۸۰
خروجی:
Hello World- با استفاده از یک مرورگر وب مانند کروم، به آدرس IP سرور خود دسترسی پیدا کنید و تأیید کنید که صفحه رابط گرافیکی برنامه شما نمایش داده میشود.
http://SERVER-IP:80خروجی:

- برای متوقف کردن کانتینر داکر، دستور زیر را اجرا کنید.کنسول
$ docker stop web-test
ورود به رجیستری کانتینر #
داکر از رجیستریهای کانتینر خصوصی و عمومی مانند رجیستری کانتینر برای ساخت، ذخیره و استقرار تصاویر کانتینر پشتیبانی میکند. مراحل زیر را برای استفاده از داکر با رجیستری کانتینر خود برای استقرار برنامههای کانتینر شده روی سرور دنبال کنید.
- به صفحه مدیریت رجیستری کانتینر خود دسترسی پیدا کنید و
docker loginدستور موجود در بخش دستورات نمونه را که شامل تمام اعتبارنامههای لازم است، کپی کنید.
docker loginبرای ورود به رجیستری کانتینر، دستور زیر را در ترمینال خود اجرا کنید . به جایexampleregistry،example-userوregistry-keyاطلاعات واقعی خود را وارد کنید.کنسول$ docker login https://negarnovin.com/exampleregistry -u example-user -p registry-keyخروجی شما در صورت موفقیت باید مشابه تصویر زیر باشد:
Login Succeededcrccheck/hello-worldتصویر Docker را با نام مخزن رجیستری Container مورد نظر خود برچسب گذاری کنید .کنسول$ docker tag crccheck/hello-world:latest negarnovin.com/exampleregistry/crccheck/hello-world:latest- تمام تصاویر داکر را فهرست کنید و تأیید کنید که تصویر برچسبگذاری شده جدید در دسترس است.کنسول
$ docker imagesخروجی:
REPOSITORY TAG IMAGE ID CREATED SIZE crccheck/hello-world latest 24349d78cb62 2 years ago 1.24MB negarnovin.com/exampleregistry/crccheck/hello-world latest 24349d78cb62 2 years ago 1.24MB - تصویر داکر برچسبگذاری شده را به رجیستری کانتینر خود منتقل کنید.کنسول
$ docker push negarnovin.com/exampleregistry/crccheck/hello-world:latestخروجی شما باید مشابه تصویر زیر باشد.
The push refers to repository [negarnovin.com/exampleregistry/crccheck/hello-world] e35bd73d1b9a: Pushed d94c78be1352: Pushed latest: digest: sha256:0404ca69b522f8629d7d4e9034a7afe0300b713354e8bf12ec9657581cf59400 size: 734 - به صفحه مدیریت رجیستری کانتینر خود دسترسی پیدا کنید، به برگه مخازن بروید و تأیید کنید که مخزن تصویر جدید Docker در دسترس است.

- با استفاده از تصویر Docker رجیستری Container خود، یک کانتینر جدید مستقر کنید.کنسول
$ docker run -d --name web-test-vcr -p ۸۰:۸۰۰۰ negarnovin.com/exampleregistry/crccheck/hello-world:latest
- تمام کانتینرهای فعال داکر که روی سرور شما در حال اجرا هستند را فهرست کنید.کنسول
$ docker psتأیید کنید که
web-test-vcrکانتینر مشابه خروجی زیر در حال اجرا است.CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 74609506c374 negarnovin.com/exampleregistry/crccheck/hello-world:latest "/bin/sh -c 'echo \"h…" ۶ seconds ago Up 6 seconds (health: starting) 0.0.0.0:80->8000/tcp, :::80->8000/tcp web-test-vcr
نتیجه گیری #
شما Docker را روی Rocky Linux 9 نصب کردهاید و برنامههای کانتینری را روی سرور خود مستقر کردهاید. Docker از چندین منبع تصویر کانتینر پشتیبانی میکند که میتوانید برای اجرای برنامههای کانتینری روی سرور خود از آنها استفاده کنید. برای اطلاعات بیشتر و گزینههای Docker CLI، به مستندات مرجع Docker مراجعه کنید .


