از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش نصب و استفاده از Docker در CentOS 7
سرفصلهای مطلب
Docker یک فناوری کانتینریسازی است که به شما امکان میدهد تا به سرعت برنامههایی را بهعنوان کانتینرهای قابل حمل و خودکفا بسازید، آزمایش کنید و به کار ببرید که میتوانند تقریباً در هر کجا اجرا شوند.
در این آموزش، روش نصب Docker CE را بررسی خواهیم کرد CentOS 7 و مفاهیم و دستورات اولیه Docker را بررسی کنید.
پیش نیازها
قبل از ادامه این آموزش، از رعایت پیش نیازهای زیر اطمینان حاصل کنید:
- CentOS 7 سرور
- شما به عنوان یک کاربر غیر ریشه با امتیازات sudo وارد شده اید. شما این راهنما را در مورد روش ایجاد یک کاربر sudo جدید بررسی کنید.
Docker را نصب کنید CentOS
اگرچه بسته داکر در نسخه رسمی موجود است CentOS 7 مخزن، ممکن است همیشه آخرین نسخه نباشد. روش پیشنهادی نصب Docker از مخازن Docker است.
برای نصب Docker بر روی خود CentOS سرور 7 مراحل زیر را دنبال کنید:
-
با به روز رسانی بسته های سیستم خود شروع کنید و وابستگی های مورد نیاز را نصب کنید:
sudo yum update
sudo yum install yum-utils device-mapper-persistent-data lvm2
-
سپس دستور زیر را اجرا کنید که مخزن پایدار Docker را به سیستم شما اضافه می کند:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
اکنون که مخزن Docker فعال است، آخرین نسخه Docker CE (نسخه انجمن) را با استفاده از yum با تایپ کردن نصب کنید:
sudo yum install docker-ce
-
پس از نصب بسته Docker، Daemon Docker را راه اندازی کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود:
sudo systemctl start docker
sudo systemctl enable docker
-
برای تأیید اینکه سرویس 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
-
در زمان نگارش، نسخه پایدار فعلی 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 بپردازیم.
خط فرمان 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، یا خدمات.
ممکن است مناسب ترین مقایسه نباشد، اما اگر یک برنامه نویس هستید، می توانید تصویر 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، به رسمی مراجعه کنید مستندات داکر
.
در صورت داشتن هر گونه سوال یا نظر، لطفاً در زیر نظر دهید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-28 00:23:02