از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش نصب و استفاده از Docker Compose در CentOS 7
سرفصلهای مطلب
Docker Compose
ابزاری است که به شما امکان تعریف و اجرای برنامه های Docker چند کانتینری را می دهد.
با Compose، سرویسها، شبکهها و حجمهای برنامه را در یک فایل YAML تعریف میکنید، سپس برنامه خود را با یک فرمان میچرخانید.
Compose را می توان برای اهداف مختلفی مانند تک استفاده کرد host استقرار برنامه، تست خودکار و توسعه محلی.
این آموزش شما را در نصب آخرین نسخه Docker Compose بر روی آن راهنمایی می کند CentOS 7. همچنین مفاهیم و دستورات اولیه Docker Compose را پوشش خواهیم داد.
پیش نیازها
قبل از ادامه این آموزش مطمئن شوید که پیش نیازهای زیر را دارید:
- به عنوان یک کاربر با امتیازات sudo وارد سیستم شدهاید.
- Docker را روی خود نصب کنید CentOS 7 سیستم.
Docker Compose را نصب کنید CentOS
روش توصیه شده برای نصب Docker Compose در CentOS 7 با دانلود باینری Compose از مخزن Docker’s GitHub است.
در زمان نگارش این مقاله، آخرین نسخه پایدار Docker Compose نسخه است 1.23.1
. قبل از دانلود باینری Compose به آدرس زیر مراجعه کنید انتشار مخزن را بنویسید page در GitHub
و بررسی کنید که آیا نسخه جدیدی برای دانلود موجود است یا خیر.
مراحل زیر را برای نصب Docker Compose انجام دهید CentOS 7:
-
با دانلود باینری Docker Compose در
/usr/local/bin
دایرکتوری با استفاده از زیرcurl
دستور:sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
پس از اتمام دانلود، باینری را با تایپ کردن قابل اجرا کنید:
sudo chmod +x /usr/local/bin/docker-compose
-
برای تأیید نصب، دستور زیر را برای چاپ نسخه Compose وارد کنید:
docker-compose --version
خروجی چیزی شبیه به این خواهد بود:
docker-compose version 1.23.1, build b02f1306
شروع کار با Docker Compose
در این بخش، روش استفاده از Docker Compose برای اجرای یک پشته وردپرس را نشان خواهیم داد CentOS 7 دستگاه.
با ایجاد یک دایرکتوری جدید برای پروژه و پیمایش در آن شروع کنید:
mkdir my_app && cd my_app
بعد، یک فایل به نام ایجاد کنید docker-compose.yml
داخل دایرکتوری پروژه:
nano docker-compose.yml
محتوای زیر را بچسبانید:
version: '3.3'
services:
db:
image: mysql:5.7
restart: always
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
wordpress:
image: wordpress
restart: always
volumes:
- ./wp_data:/var/www/html
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: password
depends_on:
- db
volumes:
db_data:
wp_data:
بیایید کد را خط به خط تجزیه و تحلیل کنیم.
خط اول مشخص می کند نگارش نسخه فایل
. چندین نسخه مختلف از فرمت فایل Compose با پشتیبانی از نسخههای خاص Docker وجود دارد.
بعد، ما دو سرویس را تعریف می کنیم، db
و wordpress
. هر سرویس یک تصویر را اجرا می کند و با اجرای docker-compose یک کانتینر جداگانه ایجاد می کند.
این db
سرویس:
- استفاده می کند
mysql:5.7
تصویر اگر تصویر در سیستم شما وجود نداشته باشد، Compose آن را از مخزن عمومی Docker Hub می کشد.
- از راه اندازی مجدد استفاده می کند
always
خط مشی که به کانتینر دستور می دهد همیشه راه اندازی مجدد شود. - یک حجم با نام ایجاد می کند
db_data
تا پایگاه داده پایدار بماند. - متغیرهای محیطی را برای
mysql:5.7
تصویر
این wordpress
سرویس:
- استفاده می کند
wordpress
تصویر اگر تصویر در سیستم شما وجود نداشته باشد، Compose آن را از مخزن عمومی Docker Hub می کشد.
- از راه اندازی مجدد استفاده می کند
always
خط مشی که به کانتینر دستور می دهد همیشه راه اندازی مجدد شود. - را سوار می کند
wp_data
دایرکتوری در host به/var/lib/mysql
داخل ظرف - پورت در معرض 80 روی کانتینر را به پورت 8080 روی کانتینر هدایت می کند host دستگاه.
- متغیرهای محیطی را برای
wordpress
تصویر - این
depends_on
دستورالعمل وابستگی بین دو سرویس را تعریف می کند. در این مثال،db
قبل شروع خواهد شدwordpress
.
از فهرست پروژه، برنامه وردپرس را با استفاده از دستور زیر بچرخانید:
docker-compose up
خروجی باید چیزی شبیه به این باشد:
...
wordpress_1 | [Sat Oct 13 21:30:48.286382 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations
wordpress_1 | [Sat Oct 13 21:30:48.286425 2018] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
Compose هر دو تصویر را می کشد، دو ظرف را شروع می کند و ایجاد می کند wp_data
دایرکتوری در دایرکتوری پروژه شما
مرورگر خود را باز کنید، تایپ کنید http://0.0.0.0:8080/
و صفحه نصب وردپرس را مشاهده خواهید کرد.
در این مرحله، برنامه وردپرس فعال شده است و می توانید کار بر روی قالب یا افزونه خود را شروع کنید.
برای توقف نوشتن، فشار دهید CTRL+C
. متغیرهای محیطی اگر می خواهید Compose را در حالت جدا شده شروع کنید، از آن استفاده کنید -d
پرچم:
docker-compose up -d
برای بررسی خدمات در حال اجرا از ps
گزینه:
docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------
my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
my_app_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8080->80/tcp
هنگامی که Compose در حالت جدا در حال اجرا است تا استفاده از خدمات متوقف شود:
docker-compose stop
برای جدا کردن کامل ظروف از down
گزینه:
docker-compose down
عبور از --volumes
سوئیچ حجم داده ها را نیز حذف می کند:
docker-compose down --volumes
حذف نصب Docker Compose
اگر می خواهید Docker Compose را حذف کنید، به سادگی باینری را با استفاده از دستور زیر حذف کنید:
sudo rm /usr/local/bin/docker-compose
نتیجه
شما روش نصب و استفاده از Docker Compose را در a یاد گرفته اید CentOS 7.
اگر سوالی دارید، لطفا در زیر نظر دهید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-27 16:39:05