خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه ایجاد خودکار فایل‌های Compose از کانتینرهای در حال اجرا Docker

docker-autocompose یک اسکریپت پایتون است که به شما امکان می‌دهد بدون زحمت فایل‌های Docker Compose را از کانتینرهای در حال اجرا Docker ایجاد کنید.

Docker یک ابزار ضروری برای نصب آسان برنامه‌هایی است که می‌توانند سایت‌ها و سرویس‌های شما را اجرا کنند، و مدیریت آن با docker-compose حتی آسان‌تر است.

برخی از پروژه‌ها با فایل‌های docker-compose ارائه نمی‌شوند و ساختن خودتان زمان‌بر است. docker-autocompose می تواند یک فایل docker-compose فعال از هر کانتینر Docker در حال اجرا ایجاد کند.

برخی از برنامه‌های Docker فایل‌های Compose ندارند

اوبونتو به عنوان یک داکر کانتینر اجرا می شود

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

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

اگر با مفهوم برنامه های docker شده آشنا نیستید، باید راهنمای ضروری ما را در مورد اینکه چرا باید به جای ماشین مجازی از Docker استفاده کنید، بخوانید.

دستورات داکر طولانی هستند و معمولاً به صورت یک فرمان واحد اجرا می شوند که همه متغیرهای مربوطه را نشان می دهد. ورود آنها دشوار است، و اگرچه می توانید یک نام مستعار به فایل .bashrc خود اضافه کنید، اما اغلب به زدن مکرر Ctrl + R برای یافتن دستور Docker دقیق مورد نظرتان منجر می شود.

مطلب مرتبط:   چگونه کلید GnuPG خود را ایجاد کنید

Docker Compose ابزاری است که به شما در تعامل بین کانتینری و ارکستراسیون کمک می کند. آنقدر در کمک به مدیریت کانتینرهای Docker موثر است، به طوری که بسیاری از کاربران اصلاً نحوه استفاده از Docker را یاد نمی‌گیرند. چرا در حالی که تنها کاری که باید انجام دهید این است که یک فایل YAML را دانلود کنید و آن را با یک دستور ساده دو کلمه ای بالا بیاورید؟

در حالی که بسیاری از برنامه‌هایی که می‌توانند توسط Docker مستقر شوند، دارای فایل‌های Compose هستند، همه این‌ها را ندارند، و نصب و استقرار سریع و تمیز Docker را دشوار می‌کند. این امر به‌ویژه در مورد برنامه‌های سخت‌افزاری کمتر رایج مانند ARM64 و ARMhf رایج است.

اگر ترجیح می‌دهید از Docker-compose به جای Docker خام استفاده کنید، اگر یک docker-compose.yml مفید در مخزن GitHub پروژه وجود ندارد، ممکن است از نرم‌افزار خاصی استفاده نکنید.

docker-autocompose تولید خودکار یک فایل Compose را آسان می کند

docker-autocompose یک برنامه پایتون است که می تواند یک فایل Compose کار از هر کانتینر داکر در حال اجرا ایجاد کند.

این بدان معنی است که شما فقط باید ابتدا دستور docker را اجرا کنید، سپس خروجی تولید شده را بگیرید و برنامه را با استفاده از docker-compose در آینده راه اندازی کنید، یا می توانید آن را به فایل Compose موجود اضافه کنید تا همه سرویس های خود را به طور همزمان مدیریت کنید.

نحوه نصب docker-autocompose در لینوکس

از آنجایی که docker-autocompose به عنوان یک برنامه پایتون ارائه می شود، باید Python PIP را روی سیستم لینوکس خود نصب کنید.

مطلب مرتبط:   پشتیبانی اوبونتو 18.04 در حال از بین رفتن است: در اینجا چه باید کرد

برای نصب Python PIP در دبیان یا اوبونتو:

sudo apt install python3-pip

PIP را روی Arch Linux و مشتقات آن با استفاده از:

sudo pacman -S python-pip

برای نصب PIP در CentOS و Red Hat Enterprise Linux، اجرا کنید:

sudo yum install python3 python3-wheel

ناگفته نماند که باید Docker و Docker Compose را نیز نصب کرده باشید.

مخزن GitHub را برای docker-autocompose کلون کنید و به دایرکتوری جدید بروید:

git clone https://github.com/Red5d/docker-autocompose.git
cd docker-autocompose

اکنون docker-autocompose را با اجرای زیر نصب کنید:

sudo python3 setup.py install

docker-autocompose اکنون نصب شده است.

از docker-autocompose برای ایجاد فایل های نوشتن استفاده کنید

اغلب، در حین جستجوی برنامه‌های ضروری لینوکس، با یک پروژه فوق‌العاده مواجه می‌شوید که با تصاویر Docker اما بدون فایل Compose ارائه می‌شود. نمونه ای از این، سرویس گیرنده IRC عالی قابل دسترسی از طریق مرورگر، Dispatch است.

یک دایرکتوری برای Dispatch ایجاد کنید تا از آن استفاده کنید:

mkdir ~/dispatch

مشتری را در پورت 8080 دستگاه محلی خود بارگیری و راه اندازی کنید با:

docker run -p 8080:80 -v /home/david/dispatch:/data --restart no -d khlieng/dispatch

ارسال کلاینت IRC که روی پورت لوکال هاست 8080 اجرا می شود

از localhost:8080 در مرورگر خود بازدید کنید تا بررسی کنید که Dispatch کار می کند یا خیر، سپس به docker-autocompose بگویید محتویات فایل Compose را از ظرف در حال اجرا با:

sudo autocompose.py <container-name-or-id>

در این حالت، نام کانتینر dispatch است و شناسه کانتینر بلافاصله پس از اجرای دستور docker به عنوان خروجی در ترمینال شما ظاهر می شود.

همچنین، می‌توانید محتویات فایل Compose را ایجاد کنید که می‌توانید از آن برای راه‌اندازی همه کانتینرهای Docker در حال اجرا خود استفاده کنید:

sudo autocompose.py $(docker ps -aq)

هیچ فایل Docker Compose ایجاد نخواهد شد، بنابراین شما باید stdout را در کلیپ بورد خود کپی کنید، سپس یک فایل جدید با استفاده از:

nano docker-compose.yml

docker-compose تولید شده توسط docker-autocompose

محتویات کلیپ بورد خود را جایگذاری کنید، سپس با Ctrl + O و سپس Ctrl + X از nano خارج شده و ذخیره کنید.

مطلب مرتبط:   نحوه نصب کد ویژوال استودیو در اوبونتو

اکنون می توانید همه کانتینرهای خود را به طور همزمان با موارد زیر شروع کنید:

docker-compose up -d

از طرف دیگر، می‌توانید docker-autocompose را با استفاده از خود Docker با اجرای زیر اجرا کنید:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <container-name-or-id> <additional-names-or-ids>

… که دستوری است که به شما یادآوری می کند که چرا برای شروع به docker-autocompose نیاز دارید.

فوراً فایل‌های Compose Working را از Running Docker Containers ایجاد کنید

Docker و Docker Compose بخش مهمی از اکوسیستم برنامه لینوکس هستند و به ویژه برای سایت‌ها و سرویس‌های خود میزبانی در رایانه تک‌بردی Raspberry Pi بسیار ارزشمند هستند.

اگر قبلاً سفر خود را به سمت ایجاد اکوسیستم آنلاین خود شروع نکرده اید، باید به برخی از پروژه های وب عالی که می توانید روی Pi اجرا کنید نگاهی بیندازید.