Docker Compose ابزاری برای خط فرمان است که به شما امکان می دهد برنامه های Docker چند کانتینری را تعریف و ارکستر کنید. از یک فایل YAML برای پیکربندی سرویس ها ، شبکه ها و حجم برنامه استفاده می کند. با Compose می توانید یک محیط برنامه قابل حمل را تعریف کنید که بتوانید روی هر سیستم اجرا کنید. محیط های Compose از یکدیگر جدا شده و به شما امکان می دهند چندین نسخه از همان محیط را روی یک هاست واحد اجرا کنید. Compose به طور معمول برای توسعه محلی ، استقرار برنامه های هاست و آزمایش خودکار استفاده می شود. در این مقاله ، نحوه نصب آخرین نسخه Docker Compose در اوبونتو ۲۰٫۰۴ توضیح داده شده است. ما همچنین مفاهیم و دستورات اساسی Docker Compose را بررسی خواهیم کرد. با ما در شتابان هاست همراه باشيد.
ما فرض می کنیم که Docker را روی دستگاه اوبونتو نصب کرده اید.
Docker Compose یک فایل binary است. ما پرونده را در دایرکتوری موجود در سیستم PATH بارگیری كرده و آن را اجرا خواهیم کرد.
قبل از بارگیری Docker Compose باینری ، به صفحه انتشار مخزن Compose در GitHub مراجعه کرده و بررسی کنید نسخه جدیدی برای بارگیری وجود دارد یا خیر. برای بارگیری فایل Compose در فهرست / usr / local / bin از curl استفاده کنید:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/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.25.5, build b02f1306
Docker Compose روی دستگاه اوبونتو نصب شده است و می توانید شروع به استفاده از آن کنید.
در این بخش ، ما از Docker Compose برای ساختن یک برنامه وردپرس چند کانتینری استفاده خواهیم کرد
اولین قدم ایجاد دایرکتوری پروژه است:
mkdir my_app
cd my_app
ویرایشگر متن خود را باز کنید و فایلی به نام docker-compose.yml را درون فهرست پروژه ایجاد کنید:
nano docker-compose.yml
محتوای زیر را تايپ كنيد:
version: '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: - "۸۰۸۰:۸۰" 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:
ساختار فایل docker-compose.yml را تحلیل کنیم.
خط اول پرونده نسخه فایل Compose را مشخص می کند. چندین نسخه مختلف از فرمت فایل Compose با بكاپ گيري از نسخه های Docker خاص وجود دارد. خدمات می توانند از تصاویری که در DockerHub یا تصاویر ساخته شده از Dockerfile موجود است استفاده کنند. بخش خدمات همچنین شامل کلیدهایی است که پورت های در معرض ، حجم ، متغیرهای محیط ، وابستگی ها و سایر دستورات Docker را مشخص می کند.
از فهرست پروژه ، با اجرای دستور زیر ، برنامه WordPress را راه اندازی کنید:
docker-compose up
Compose تصاویر را می کشد ، containers را شروع می کند و فهرست دایرکتوری wp_data را ایجاد می کند.
http://0.0.0.0:8080/ را در مرورگر خود وارد کنید و صفحه نصب وردپرس را مشاهده خواهید کرد. در این مرحله ، برنامه وردپرس به روز شده است و می توانید شروع به کار بر روی موضوع یا افزونه خود کنید. برای متوقف کردن Compose ، دكمه CTRL + C را فشار دهید.
همچنین می توانید با عبور از گزینه -d ، Compose را در حالت جداگانه شروع کنید:
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
برای متوقف کردن و حذف containers و شبکه های برنامه ، از گزینه down استفاده کنید:
docker-compose down
به طور ساده با تايپ كردن remove حذف نصب کنید:
sudo rm /usr/local/bin/docker-compose
ما به شما نشان داده ایم که چگونه Docker Compose را در Ubuntu 20.04 نصب کنید. ما را در شتابان هاست دنبال كنيد.