وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش نصب و استفاده از Docker در CentOS 7

0 8
زمان لازم برای مطالعه: 5 دقیقه



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

در این آموزش، روش نصب Docker CE را بررسی خواهیم کرد CentOS 7 و مفاهیم و دستورات اولیه Docker را بررسی کنید.

پیش نیازها

قبل از ادامه این آموزش، از رعایت پیش نیازهای زیر اطمینان حاصل کنید:

  • CentOS 7 سرور
  • شما به عنوان یک کاربر غیر ریشه با امتیازات sudo وارد شده اید. شما این راهنما را در مورد روش ایجاد یک کاربر sudo جدید بررسی کنید.

Docker را نصب کنید CentOS

اگرچه بسته داکر در نسخه رسمی موجود است CentOS 7 مخزن، ممکن است همیشه آخرین نسخه نباشد. روش پیشنهادی نصب Docker از مخازن Docker است.

برای نصب Docker بر روی خود CentOS سرور 7 مراحل زیر را دنبال کنید:

  1. با به روز رسانی بسته های سیستم خود شروع کنید و وابستگی های مورد نیاز را نصب کنید:

    sudo yum updatesudo yum install yum-utils device-mapper-persistent-data lvm2
  2. سپس دستور زیر را اجرا کنید که مخزن پایدار Docker را به سیستم شما اضافه می کند:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. اکنون که مخزن Docker فعال است، آخرین نسخه Docker CE (نسخه انجمن) را با استفاده از yum با تایپ کردن نصب کنید:

    sudo yum install docker-ce
  4. پس از نصب بسته Docker، Daemon Docker را راه اندازی کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود:

    sudo systemctl start dockersudo systemctl enable docker
  5. برای تأیید اینکه سرویس Docker در حال اجرا است، تایپ کنید:

    sudo systemctl status docker

    خروجی باید چیزی شبیه به این باشد:

    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago
         Docs: https://docs.docker.com
     Main PID: 2492 (dockerd)
       CGroup: /system.slice/docker.service
               ├─2492 /usr/bin/dockerd
               └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml
  6. در زمان نگارش، نسخه پایدار فعلی Docker به این صورت است، 18.06.1، برای چاپ نوع نسخه Docker:

    docker -v
    Docker version 18.06.1-ce, build e68fc7a

اجرای دستور Docker بدون سودو

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

sudo usermod -aG docker $USER

$USER یک متغیر محیطی است که نام کاربری شما را نگه می دارد.

از سیستم خارج شوید و دوباره وارد شوید تا عضویت گروه تازه شود.

برای تأیید اینکه Docker با موفقیت نصب شده است و می توانید دستورات docker را بدون sudo اجرا کنید، دستور زیر را صادر کنید که یک تصویر آزمایشی را دانلود می کند، آن را در یک ظرف اجرا می کند، پیام “Hello from Docker” را چاپ می کند و خارج می شود:

docker container run hello-world

خروجی باید به شکل زیر باشد:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

رابط خط فرمان داکر

اکنون که یک نصب داکر در حال کار داریم، بیایید به نحو اولیه داکر CLI بپردازیم.

پیشنهاد می‌کنیم بخوانید:  روش نصب و پیکربندی Samba در CentOS 7

خط فرمان docker به شکل زیر است:

docker [option] [subcommand] [arguments]

با تایپ کردن می توانید تمام دستورات موجود را فهرست کنید docker بدون پارامتر:

docker

اگر در مورد هر کدام به کمک بیشتری نیاز دارید [subcommand]، فقط تایپ کنید:

docker [subcommand] --help

تصاویر داکر

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

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

برای جستجوی یک تصویر در مخزن داکر هاب کافیست از search فرمان فرعی به عنوان مثال، برای جستجو برای CentOS تصویر، اجرا:

docker search centos

خروجی باید به شکل زیر باشد:

NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   4257                [OK]
ansible/centos7-ansible            Ansible on Centos7                              109                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_…   94                                      [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   52                                      [OK]
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              40                                      [OK]
tutum/centos                       Simple CentOS docker image with SSH access      39

همانطور که می بینید نتایج جستجو یک جدول با پنج ستون چاپ می کند. NAME، DESCRIPTION، STARS، OFFICIAL و AUTOMATED. تصویر رسمی تصویری است که داکر در ارتباط با شرکای بالادستی ایجاد می کند.

اگر بخواهیم بیلد رسمی را دانلود کنیم CentOS 7، ما می توانیم این کار را با استفاده از image pull دستور فرعی:

docker image pull centos
Using default tag: latest
latest: Pulling from library/centos
469cfcc7a4b3: Pull complete
Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Downloaded newer image for centos:latest

بسته به سرعت اینترنت شما، دانلود ممکن است چند ثانیه یا چند دقیقه طول بکشد. پس از بارگیری تصویر، می توانیم تصاویر را با موارد زیر لیست کنیم:

docker image ls

خروجی باید چیزی شبیه به شکل زیر باشد:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              e38bc07ac18e        3 weeks ago         1.85kB
centos              latest              e934aafc2206        4 weeks ago         199MB

اگر به دلایلی می خواهید تصویری را حذف کنید، می توانید این کار را با image rm [image_name] دستور فرعی:

docker image rm centos
Untagged: centos:latest
Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f
Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0

کانتینرهای داکر

نمونه ای از یک تصویر ظرف نامیده می شود. یک کانتینر نشان دهنده زمان اجرا برای یک برنامه واحد است، process، یا خدمات.

پیشنهاد می‌کنیم بخوانید:  روش نصب فایل های RPM (بسته ها) در CentOS Linux

ممکن است مناسب ترین مقایسه نباشد، اما اگر یک برنامه نویس هستید، می توانید تصویر Docker را به عنوان کلاس و ظرف Docker را به عنوان نمونه ای از یک کلاس در نظر بگیرید.

ما می‌توانیم یک ظرف را شروع، متوقف، حذف و مدیریت کنیم docker container فرمان فرعی

دستور زیر یک کانتینر Docker را بر اساس تصویر CentoOS راه اندازی می کند. اگر تصویر را به صورت محلی ندارید، ابتدا آن را دانلود می کند:

docker container run centos

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

سوئیچ -it به ما اجازه می دهد تا از طریق خط فرمان با کانتینر ارتباط برقرار کنیم. برای شروع یک نوع ظرف تعاملی:

docker container run -it centos /bin/bash

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

[root@719ef9304412 /]#

برای فهرست کردن کانتینرهای در حال اجرا : را تایپ کنید:

docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"         22 minutes ago      Up 22 minutes                           ecstatic_ardinghelli
اگر کانتینر در حال اجرا ندارید، خروجی خالی خواهد بود.

برای مشاهده کانتینرهای در حال اجرا و متوقف شده، آن را ارسال کنید -a تعویض:

docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"              22 minutes ago      Up 22 minutes                                   ecstatic_ardinghelli
c55680af670c        centos              "/bin/bash"              30 minutes ago      Exited (0) 30 minutes ago                       modest_hawking
c6a147d1bc8a        hello-world         "/hello"                 20 hours ago        Exited (0) 20 hours ago                         sleepy_shannon

برای حذف یک یا چند کانتینر، فقط شناسه کانتینر (یا شناسه‌ها) را از بالا کپی کرده و بعد از آن جای‌گذاری کنید container rm دستور فرعی:

docker container rm c55680af670c

نتیجه

شما یاد گرفته اید که چگونه Docker را بر روی خود نصب کنید CentOS 7 دستگاه و روش دانلود تصاویر داکر و مدیریت کانتینرهای داکر. همچنین ممکن است بخواهید در مورد Docker Compose مطالعه کنید، که به شما امکان می دهد برنامه های Docker چند کانتینری را تعریف و اجرا کنید.

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

در صورت داشتن هر گونه سوال یا نظر، لطفاً در زیر نظر دهید.

docker centos
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-28 00:23:02

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید