عمق عملکردی Docker و Docker Compose
معرفی
Docker Compose به کاربران اجازه می دهد تا برنامه های چند کانتینری را با استفاده از یک فایل پیکربندی واحد اجرا و تعریف کنند. این فرآیند راه اندازی و مدیریت چندین کانتینر را ساده می کند و توسعه، آزمایش و استقرار برنامه ها را آسان تر می کند.
در این مقاله، شما باید یک برنامه Flask با دو کانتینر ایجاد کنید، از Vultr Container Registry (VCR) برای مدیریت تصویر Docker برنامه های خود استفاده کنید و از عملکرد چند کانتینر Docker Compose برای مدیریت چندین کانتینر استفاده کنید.
ایجاد یک برنامه کاربردی نمونه
برای شروع با ایجاد یک برنامه کاربردی، مراحل زیر را دنبال کنید:
یک نمونه Vultr Compute را با استفاده از پورتال مشتری Vultr با برنامه بازار Docker اجرا کنید.
با استفاده از SSH به عنوان یک کاربر sudo غیر ریشه ای به سرور دسترسی داشته باشید.
یک دایرکتوری پروژه جدید ایجاد کنید و در آن حرکت کنید.
یک فایل جدید با نام app.py
ایجاد کنید.
کد زیر را اضافه کنید.
فایل را ذخیره کرده و از آن خارج شوید.
کد Flask بالا به یک پایگاه داده Redis متصل می شود و با هر بار بازدید از URL ریشه، شمارنده را افزایش می دهد.
اتصالات ورودی را به پورت 5000
اجازه دهید و فایروال را دوباره بارگذاری کنید.
یک فایل جدید با نام requirements.txt
ایجاد کنید.
بسته های زیر را اضافه کنید.
ذخیره کنید و فایل را ببندید.
دایرکتوری دیگری در داخل پوشه flask-redis-example
ایجاد کنید و در آن حرکت کنید.
یک فایل جدید با نام styles.css
ایجاد کنید.
کد زیر را اضافه کنید.
فایل را ذخیره کرده و از آن خارج شوید.
دایرکتوری دیگری در داخل پوشه flask-redis-example
ایجاد کنید و در آن حرکت کنید.
یک فایل جدید با نام index.html
ایجاد کنید.
کد زیر را اضافه کنید.
با استفاده از Vultr Container Registry
در این بخش، شما باید یک Vultr Container Registry ایجاد کنید، تصویر Docker خود را در رجیستری آپلود کنید و یک فایل Docker Compose را راه اندازی کنید تا خدمات را برای Flask و پایگاه داده Redis تنظیم کند.
یک رجیستری کانتینر Vultr را مستقر کنید
یک مانیفست Docker در پوشه flask-redis-example
ایجاد کنید.
پیکربندی زیر را اضافه کنید.
فایل را ذخیره کرده و از آن خارج شوید.
تصویر داکر را بسازید.
وارد رجیستری کانتینر Vultr خود شوید.
مطمئن شوید که <url>
، <user>
و <password>
را جایگزین کنید، این جزئیات در بخش نمای کلی رجیستری کانتینر Vultr شما ارائه شده است.
تصویر داکر را تگ کنید.
تصویر را به رجیستری ظرف Vultr فشار دهید.
پس از فشار دادن تصویر Docker، وجود تصویر را در بخش Repositories در رجیستری ظرف Vultr در داشبورد Vultr تحلیل کنید.
یک فایل جدید با نام docker-compose.yaml
ایجاد کنید.
فایل را ذخیره کرده و از آن خارج شوید.
پیکربندی YAML بالا دو سرویس web
و redis
را تعریف می کند. web
سرویس برنامه Flask را از دایرکتوری فعلی ( .
) می سازد و پورت 5000
کانتینر را به پورت 5000
میزبان نگاشت می کند. همچنین مشخص می کند که وب سرویس به سرویس Redis بستگی دارد. سرویس Redis از تصویر رسمی Redis Docker از Docker Hub استفاده می کند.
فایل نوشتن Docker را بسازید.
پس از تکمیل فرآیند ساخت، به برنامه Flask در http://<server-ip>:5000
دسترسی پیدا کنید. سعی کنید چندین بار وب سایت را به روز کنید و مشاهده کنید که تعداد دفعات بازدید از صفحه در حال افزایش است.
با Vultr Container Registry کارهای بیشتری انجام دهید
بهترین شیوه ها
سازماندهی و مستند نگه داشتن فایل docker-compose.yaml
.
استفاده از حجم های نامگذاری شده برای داده های ماندگار به جای اتصال دایرکتوری های میزبان.
استفاده از متغیرهای محیطی برای داده های حساس مانند رمزهای عبور و کلیدهای API.
استفاده از دستورات داخلی Docker Compose مانند docker-compose up
، docker-compose down
و docker-compose
ps برای مدیریت کانتینرها.
نتیجه
در این مقاله، شما یک برنامه Flask با دو کانتینر ایجاد کردید، از Vultr Container Registry برای مدیریت تصویر Docker برنامه های خود استفاده کردید، و از عملکرد چند کانتینر Docker Compose برای مدیریت چندین کانتینر استفاده کردید.
این یک مقاله حمایت شده توسط Vultr است. Vultr بزرگترین پلتفرم محاسبات ابری خصوصی در جهان است. Vultr که مورد علاقه توسعه دهندگان است، با راه حل های Cloud Compute، Cloud GPU، Bare Metal و Cloud Storage انعطاف پذیر، مقیاس پذیر، به بیش از 1.5 میلیون مشتری در 185 کشور خدمات رسانی کرده است. درباره Vultr بیشتر بدانید
ارسال نظر