در اوایل این ماه ، داکر همکاری ما با مایکروسافت را برای کوتاه کردن رفت و آمد برنامه نویس بین دسک تاپ و ظروف در حال اجرا در ابر اعلام کرد. ما هیجان زده هستیم که اولین نسخه از تجربه جدید Docker Azure Container Inactions (ACI) را اعلام کردیم و می خواهیم یک مرور کلی در مورد چگونگی شروع استفاده از آن به شما ارائه دهیم.
تجربه جدید Docker و Microsoft ACI به توسعه دهندگان اجازه می دهد تا به راحتی بین کار محلی و ابر با ACI حرکت کنید. با استفاده از همان تجربه Docker CLI که امروز استفاده شده است! ما این کار را با گسترش فرمان موجود docker
انجام داده ایم تا هم اکنون از ACI به عنوان پس زمینه جدید پشتیبانی کنید. ما با مایکروسافت کار کرده ایم تا ACI را هدف قرار دهیم زیرا احساس می کنیم عملکرد آن و "هزینه صفر در هنگام اجرای هیچ چیز" باعث شده است تا مکانی عالی برای پرش به ظروف در حال اجرا در ابر باشد. ظرف یا سرویس متشکل از گروهی از ظروف متعدد که با یک پرونده نوشتن Docker تعریف شده اند. توسعه دهندگان می توانند ظروف خود را در ابر اجرا کنند بدون آنکه نیازی به راهاندازی زیرساخت داشته باشند و از ویژگیهایی مانند نصب Azure Storage و مخازن GitHub به عنوان حجم استفاده کنند. برای موارد تولید ، می توانید از دستورات Docker در داخل یک جریان خودکار CI / CD استفاده کنید.
با تشکر از این زمینه ACI جدید ، اکنون می توانید به راحتی با استفاده از فرمان [dockerrun run
یک کانتینر منفرد را اجرا کنید. بلکه برنامه های چند کانتینری با استفاده از docker
را تشکیل می دهد تا دستور
.
این تجربه جدید اکنون به عنوان بخشی از Docker Desktop Edge 2.3.2 در دسترس است. برای شروع ، به سادگی بارگیری آخرین نسخه Edge یا بروزرسانی را در صورتی که قبلاً در Desktop Edge قرار دارید ، بارگیری کنید.
یک زمینه ACI ایجاد کنید
پس از آخرین نسخه ، باید با ورود به یک حساب لاجورد شروع به کار کنید. اگر یکی از آنها را ندارید می توانید برای یک روز با 200 دلار اعتبار به مدت 30 روز ثبت نام کنید تا تجربه را در اینجا تجربه کنید. هنگامی که شما یک حساب کاربری دارید می توانید با ورود به سیستم لاجوردی در Docker CLI شروع به کار کنید:
این صفحه بارگذاری مجوز Azure را بارگذاری می کند و به شما امکان می دهد با استفاده از اعتبار خود و تأیید اعتبار چند فاکتور (MFA) وارد شوید. پس از تأیید اعتبار ، خواهید دید که ورود به سیستم موفق شد
در CLI ، اکنون آماده هستید تا اولین متن ACI خود را ایجاد کنید. برای این کار باید از متن docker create aci
فرمان استفاده کنید. می توانید یک گروه اشتراک و منبع Azure را به دستور منتقل کنید یا از CLI تعاملی برای انتخاب آنها استفاده کنید ، یا حتی یک گروه منبع ایجاد کنید. برای این مثال ، من به گروه منابع پیش فرض خود اعزام می شوم.
متن من پس از آن ایجاد می شود و می توانم این مورد را با استفاده از زمینه docker ls
نمونه برنامه کانتینر Single Container
بررسی کنم ، قبل از استفاده از این زمینه ، من هستم. اکنون می خواهم برنامه خود را بصورت محلی تست کنم تا بررسی کنم همه چیز مطابق آنچه انتظار می رود کار می کند. من فقط قصد دارم از یک سرور وب بسیار ساده با یک صفحه وب HTML استاتیک استفاده کنم.
من با ساختن تصویر خود شروع می کنم و سپس آن را به صورت محلی اجرا می کنم:
برای آماده سازی ظروفم روی ACI آماده می شوم ، اکنون من فشار می دهم. تصویر را به Dockerhub با استفاده از docker push bengotch / Simplewhale
تغییر دهید و سپس زمینه من را با استفاده از زمینه docker تغییر دهید و از myacicontext
استفاده کنید. از آن لحظه ، تمام دستورات بعدی که ما اجرا خواهیم کرد ، در برابر این متن ACI اجرا می شوند.
من می توانم بررسی کنم که هیچ کانتینری در متن جدید من با استفاده از docker ps
اجرا نمی شود. اکنون برای اجرای کانتینر بر روی ACI ، فقط باید همان دستور قبلی docker run را تکرار کنم. من می توانم ببینم ظرف من در حال کار است و از آدرس IP برای دسترسی به کانتینر من که در ACI کار می کند استفاده می کنم!
اکنون می توانم ظرف من را با استفاده از docker rm حذف کنم
. توجه داشته باشید که پس از اجرای دستور ، هیچ کاری روی ACI در حال اجرا نیست و همه منابع از ACI حذف می شوند - در نتیجه هیچ هزینه ای مداوم وجود ندارد.
مثال برنامه چند کانتینر
با تجربه جدید Docker ACI ما همچنین می توانیم چند را مستقر کنیم. برنامه های حاوی کانتینر با استفاده از Docker Compose. بیایید نگاهی بیندازیم به یک برنامه ساده 3 قسمتی با یک پس زمینه جاوا ، Go frontend و postgres DB:
برای شروع ، من به متن پیش فرض (محلی) خود مبادله می کنم و یک docker را اجرا می کنم تا
برنامه من را بصورت محلی اجرا کنید.
سپس بررسی می کنم که می توانم به آن دسترسی داشته باشم و ببینم محلی آن در حال اجرا است:
اکنون من به متن ACI خود با استفاده از زمینه docker مبادله کردم و از myacicontext
استفاده کردم و دوباره برنامه خود را اجرا کردم. این بار می توانم از ترکیب جدید daxer استفاده کنم
(توجه داشته باشید که فقدان "-" بین docker
و را تنظیم کرده است
).
و می توانم. سپس بروید و ببینید که آیا این با استفاده از آدرس IP عمومی آن کار می کند:
اکنون من هم کانتینر منفردم را بصورت محلی و هم در ابر اجرا کرده ام ، به همراه اینکه برنامه چند کانتینر خود را بصورت محلی و در ابر اجرا کنم - همه از همان مصنوعات استفاده می کنم و با استفاده از همان تجربه Docker که من می دانم و دوست دارم!
تجربه جدید را امتحان کنید!
برای امتحان کردن تجربه جدید ، جدیدترین نسخه Docker Desktop Edge را امروز بارگیری کنید ، می توانید با استفاده از این نسخهها ، اشکالاتی را در نسخه بتا ما ایجاد کنید و با افزودن شماره ای به نقشه راه Docker ، ویژگی های دیگری را به ما اطلاع دهید!