این آموزش برای معرفی مفاهیم کلیدی آهنگسازی Docker در حالی که ساخت یک برنامه وب ساده پایتون طراحی شده است ، طراحی شده است. این برنامه از چارچوب Flask استفاده می کند و یک پیشخوان ضربه را در Redis حفظ می کند.
مفاهیم نشان داده شده در اینجا حتی اگر با پایتون آشنا نیستید باید قابل درک باشد.
پیش نیازها
شما باید موتور Docker و Docker را روی دستگاه خود تهیه کنید. شما می توانید:
- Docker Engine و Docker را به عنوان باینری های مستقل نصب کنید
- Docker Desktop را نصب کنید که شامل Docker Engine و Docker Compose است
نیازی به نصب Python یا Redis نیست ، زیرا هر دو توسط Docker Images تهیه شده اند.
مرحله 1: وابستگی های برنامه را تعریف کنید
یک دایرکتوری برای پروژه ایجاد کنید:
پرونده ای به نام App. py را در فهرست پروژه خود ایجاد کنید و کد زیر را در این موارد قرار دهید:
در این مثال ، Redis نام میزبان کانتینر Redis در شبکه برنامه است. ما از درگاه پیش فرض برای Redis ، 6379 استفاده می کنیم.
رسیدگی به خطاهای گذرا
توجه داشته باشید که نحوه نوشتن عملکرد get_hit_count. این حلقه مجدد اساسی به ما امکان می دهد اگر سرویس Redis در دسترس نباشد ، چندین بار درخواست خود را انجام دهیم. این امر در هنگام راه اندازی مفید است در حالی که برنامه به صورت آنلاین ارائه می شود ، اما در صورت نیاز به سرویس Redis در هر زمان در طول عمر برنامه ، برنامه را نیز مقاومت می کند. در یک خوشه ، این همچنین به دستیابی به قطره اتصال لحظه ای بین گره ها کمک می کند.
فایل دیگری به نام Leading. txt را در فهرست پروژه خود ایجاد کنید و کد زیر را در این موارد قرار دهید:
مرحله 2: یک dockerfile ایجاد کنید
از Dockerfile برای ساختن یک تصویر Docker استفاده می شود. این تصویر شامل تمام وابستگی هایی است که برنامه Python به آن نیاز دارد ، از جمله خود پایتون.
در فهرست پروژه خود ، پرونده ای به نام Dockerfile ایجاد کرده و کد زیر را در:
این به داکر می گوید:
- با شروع تصویر Python 3. 7 تصویری بسازید.
- فهرست کار را روی /کد تنظیم کنید.
- تنظیم متغیرهای محیط استفاده شده توسط دستور flask.
- GCC و سایر وابستگی ها را نصب کنید
- مورد نیاز را کپی کرده و وابستگی های پایتون را نصب کنید.
- ابرداده را به تصویر اضافه کنید تا توصیف کنید که ظرف در بندر 5000 گوش می دهد
- فهرست فعلی را کپی کنید. در پروژه به WorkDir. در تصویر
- دستور پیش فرض را برای Container Run Run تنظیم کنید.
مهم
بررسی کنید که Dockerfile هیچ پسوند پرونده ای مانند . txt ندارد. برخی از ویرایشگران ممکن است این برنامه افزودنی پرونده را به صورت خودکار ضمیمه کنند و هنگام اجرای برنامه منجر به خطایی می شوند.
برای اطلاعات بیشتر در مورد نحوه نوشتن Dockerfiles ، به راهنمای کاربر Docker و مرجع Dockerfile مراجعه کنید.
مرحله 3: خدمات را در یک پرونده آهنگسازی تعریف کنید
پرونده ای به نام docker-compose. yml را در فهرست پروژه خود ایجاد کنید و موارد زیر را بچسبانید:
این پرونده آهنگسازی دو سرویس را تعریف می کند: وب و redis.
سرویس وب از تصویری استفاده می کند که از Dockerfile در فهرست فعلی ساخته شده است. سپس ظرف و دستگاه میزبان را به درگاه در معرض 8000 متصل می کند. این سرویس مثال از درگاه پیش فرض برای سرور وب Flask ، 5000 استفاده می کند.
سرویس Redis از یک تصویر عمومی Redis که از رجیستری Docker Hub گرفته شده است استفاده می کند.
مرحله 4: برنامه خود را با آهنگسازی بسازید و اجرا کنید
از دایرکتوری پروژه خود ، برنامه خود را با اجرای Docker Compose Up راه اندازی کنید.
آهنگسازی یک تصویر redis را می کشد ، تصویری را برای کد شما می سازد و خدماتی را که تعریف کرده اید شروع می کند. در این حالت ، کد در زمان ساخت در تصویر کپی می شود.
http: // localhost: 8000/در یک مرورگر را وارد کنید تا برنامه در حال اجرا باشد.
اگر این حل نشود ، می توانید http://127. 0. 0. 1:8000 را نیز امتحان کنید.
شما باید در مرورگر خود پیامی را ببینید که می گوید:

صفحه را تازه کنید.
تعداد باید افزایش یابد.

به پنجره ترمینال دیگری بروید و تصویر Docker Image LS را تایپ کنید تا تصاویر محلی را لیست کنید.
لیست تصاویر در این مرحله باید Redis و Web را برگرداند.
می توانید تصاویر را با بازرسی Docker بازرسی کنید.
برنامه را متوقف کنید ، یا با اجرای Docker از درون فهرست پروژه خود در ترمینال دوم ، یا با ضربه زدن به Ctrl+C در ترمینال اصلی که در آن برنامه را شروع کرده اید ، استفاده کنید.
مرحله 5: برای افزودن یک اتصال اتصال ، پرونده آهنگسازی را ویرایش کنید
ویرایش docker-compose. yml در فهرست پروژه خود برای اضافه کردن یک اتصال اتصال برای سرویس وب:
کلید Volume New Directory Project (دایرکتوری فعلی) را بر روی میزبان /کد داخل ظرف نصب می کند و به شما امکان می دهد بدون نیاز به بازسازی تصویر ، کد را در پرواز اصلاح کنید. کلید Environment متغیر محیط Flask_Debug را تنظیم می کند ، که به Flask Run می گوید در حالت توسعه اجرا می شود و کد را دوباره تغییر می دهد. این حالت فقط باید در توسعه استفاده شود.
مرحله ششم: دوباره ساخت و برنامه را با آهنگسازی اجرا کنید
از دایرکتوری پروژه خود ، Docker را تایپ کنید تا برنامه را با فایل آهنگسازی به روز شده بسازید و آن را اجرا کنید.
پیام Hello World را دوباره در یک مرورگر وب بررسی کنید و از دیدن افزایش شمارش تازه کنید.
-
اگر پروژه شما خارج از فهرست کاربران است (CD~) ، سپس باید درایو یا مکان Dockerfile و حجم مورد استفاده خود را به اشتراک بگذارید. اگر خطاهای زمان اجرا را نشان می دهید که نشان می دهد یک فایل برنامه یافت نمی شود ، یک منبع حجم رد می شود ، یا یک سرویس نمی تواند شروع شود ، سعی کنید پرونده یا اشتراک درایو را فعال کنید. نصب حجم نیاز به درایوهای مشترک برای پروژه هایی دارد که در خارج از C زندگی می کنند: کاربران (ویندوز) یا /کاربران (MAC) ، و برای هر پروژه ای در دسک تاپ Docker برای ویندوز که از ظروف لینوکس استفاده می کند ، لازم است. برای اطلاعات بیشتر ، به اشتراک گذاری پرونده در Docker برای Mac و نمونه های کلی در مورد نحوه مدیریت داده ها در ظروف مراجعه کنید.
-
اگر از Oracle VirtualBox در سیستم عامل قدیمی Windows استفاده می کنید ، ممکن است با پوشه های مشترک همانطور که در این بلیط VB Trouble توضیح داده شده است ، با مشکل روبرو شوید. سیستم های ویندوز جدیدتر نیازهای دسک تاپ Docker را برای ویندوز برآورده می کنند و به VirtualBox احتیاج ندارند.
مرحله 7: برنامه را به روز کنید
از آنجا که اکنون کد برنامه با استفاده از یک حجم در ظرف نصب شده است ، می توانید در کد آن تغییراتی ایجاد کنید و بدون نیاز به بازسازی تصویر ، تغییرات را فوراً مشاهده کنید.
تبریک را در App. py تغییر دهید و آن را ذخیره کنید. به عنوان مثال ، جهان سلام را تغییر دهید! پیام به سلام از Docker!:
برنامه را در مرورگر خود تازه کنید. تبریک باید به روز شود و پیشخوان هنوز هم باید افزایش یابد.

مرحله 8: با برخی از دستورات دیگر آزمایش کنید
اگر می خواهید خدمات خود را در پس زمینه اجرا کنید ، می توانید پرچ م-d (برای حالت "جدا شده") را برای تهیه Docker منتقل کنید و از Docker Compose PS استفاده کنید تا ببینید چه چیزی در حال اجرا است:
دستور Docker Compose Run به شما امکان می دهد دستورات یک طرفه را برای خدمات خود اجرا کنید. به عنوان مثال ، برای دیدن اینکه چه متغیرهای محیطی در دسترس سرویس وب قرار دارند:
برای دیدن سایر دستورات موجود ، به Docker Compos e-Help مراجعه کنید.
اگر شروع به آهنگسازی با Docker Confor t-D ، پس از اتمام کار با آنها ، خدمات خود را متوقف کنید:
شما می توانید همه چیز را پایین بیاورید و ظروف را به طور کامل با دستور پایین حذف کنید. Pas s-Volumes برای حذف حجم داده مورد استفاده در ظرف Redis:
پایگاه های معاملاتی...
ما را در سایت پایگاه های معاملاتی دنبال می کنید
برچسب :
نویسنده : فرشته صدرعرفایی
بازدید : <-PostHit->
تاريخ : شنبه
5 فروردين
1402 ساعت: 4:35