داکر خوشحال است که اعلام می کند از امروز ادغام با Docker Compose و Amazon ECS به V1 رسیده و اکنون GA است! 🎉

ما این کار را در ابتدای سال با اولین قدم شروع کردیم – انتقال مشخصات نوشتن به یک پروژه اداره شده توسط جامعه. سپس در ماه جولای اعلام کردیم که چگونه با AWS کار می کنیم تا استقرار برنامه های نوشتن را با استفاده از خط فرمان Docker آسانتر کنیم. از امروز همه کاربران Docker Desktop تجربه پایدار ECS را در دسترس خود خواهند داشت ، به توسعه دهندگان این امکان را می دهد تا از دستورات docker برای ساخت کانتینرهای خود در برابر ECS استفاده کنند.

به عنوان بخشی از این ، می خواهیم از تیم AWS تشکر کنیم چه کسی به ما کمک کرده است تا این اتفاق بیفتد: کارمن پوچیو ، دیوید کیلمون ، سراوان رنگرایان ، اوتارا سریدار ، ماسیمو ری فر ، جونا جونز و دیوید دافی.

شروع کار با Docker Compose & ECS

As یک کاربر موجود ECS یا یک مبتدی جدید تمام کاری که شما باید انجام دهید این است که به آخرین نسخه Docker Desktop Community (2.5.0.1 یا بالاتر) به روز شوید تصویر خود را در Docker Hub ذخیره کنید تا بتوانید آن را مستقر کنید (می توانید با Hub در اینجا شروع کنید) ، سپس باید تنظیمات خود را در AWS انجام دهید و در آخر باید زمینه ECS را با استفاده از آن حساب ایجاد کنید. سپس برای استفاده از فایل Compose خود برای خواندن مطالب خوانده شده اید.

ما چندین پست وبلاگ و فیلم به همراه AWS انجام داده ایم تا به شما ایده ای درباره نحوه شروع کار یا استفاده از تجربه ECS را ارائه دهیم.

اگر س otherال دیگری درباره این تجربه دارید یا می خواهید به ما بازخورد دهید ، برای ما پیامی را در Replo CLI یا در کانال # docker-ecs در انجمن ما Slack ارسال کنید.

جدید در Docker Compose Integration ECS

ما طی چند ماه گذشته ویژگی های جدیدی را به ادغام ECS اضافه کرده ایم و می خواستیم برخی از مواردی را که از آنها بیشتر هیجان زده ایم را اجرا کنیم: [GPUGPU

پشتیبانی

به عنوان بخشی از نسخه های اخیر ECS ، ما توانایی استقرار در EC2 (به جای پیش فرض پیش فرض) را فراهم کرده ایم تا به توسعه دهندگان اجازه دهد از انواع نمونه / ویژگی های منحصر به فرد مانند GPU در EC2 استفاده کنند.

برای این کار تنها کاری که باید انجام دهید این است که مشخص کنید به عنوان بخشی از پرونده Compose به نوع نمونه GPU نیاز دارید و بقیه موارد را Compose CLI بر عهده خواهد داشت!

 خدمات:
   فرا گرفتن:
       تصویر: itamarost / object-detection-app: latest-gpu
       دستور: python app.py
       بنادر:
           - هدف: 8000
             پروتکل: tcp
             پروتکل x-aws: http
       استقرار:
           منابع:
               # دستگاه:
               # - قابلیت ها: ["gpu"]
               رزرو:
                  حافظه: 30 گیگابایت
                  منابع_جنسی:
                    - discrete_resource_spec:
                        نوع: gpus
                        مقدار: 1 

پشتیبانی EFS

ما بازخورد اولیه را از توسعه دهندگان شنیدیم که وقتی می خواهید به ابر بروید ممکن است آماده نباشید برای ادامه خدمات خود به سرویس مدیریت شده ادامه دهید و هنوز هم بخواهید استفاده کنید حجم برنامه شما برای حل این مسئله ، پشتیبانی از حجم فایل Elastic File System (EFS) را به Compose CLI اضافه کرده ایم که به کاربران امکان می دهد حجم زیادی ایجاد کنند و از آنها به عنوان بخشی از برنامه های Compose استفاده کنند. این با خط مشی Retain ایجاد می شود تا داده ها با خاموش کردن برنامه حذف نشوند. اگر مجدداً همان برنامه (همان نام پروژه) مجدداً مستقر شود ، سیستم فایل مجدداً پیوست می شود و همان تجربه کاربری را می دهد که از توسعه دهندگان برای نوشتن docker به صورت محلی استفاده می شود.

برای این کار می توانم یک فایل موجود را مشخص کنم سیستمی که قبلاً ایجاد کرده ام:

 جلد:
   اطلاعات من:
     خارجی: درست است
     نام: fs-123abcd 

یا می توانم با ارائه اطلاعاتی در مورد نحوه پیکربندی آن

 جلد جدیدی را از ابتدا ایجاد کنم.
   اطلاعات من:
     گزینه های راننده:
       # پیکربندی سیستم فایل
       backup_policy: فعال است
       سيستم_چرخه عمر: AFTER_14_DAYS
       performance_mode: maxIO
       throughput_mode: تهیه شده است
       provideded_throughput: 1024 

من همچنین می توانم این موارد را از طریق دستور docker volume مدیریت كنم كه به من اجازه می دهد منابع خود را لیست و مدیریت كنم و به من اجازه می دهد تا آنها را در صورت عدم نیاز دیگر حذف كنم.

پیشرفت های ایجاد زمینه [19659002] ما همچنین در حال بررسی چگونگی بهبود جریان ایجاد زمینه برای ساده تر و تعاملی تر کردن آن هستیم – در حالی که به کاربران قدرت نیز اجازه می دهد موارد بیشتری را از قبل مشخص کنند اگر بدانند چگونه می خواهند متن شما را پیکربندی کنند.

وقتی شروع به کار کردید ، ما اکنون 3 گزینه برای ایجاد زمینه جدید داریم:

؟ ایجاد زمینه Docker با استفاده از: [Use arrows to move, type to filter]
> یک نمایه AWS موجود
 نمایه جدید AWS
 متغیرهای محیط AWS 

اگر نمایه موجود را انتخاب کنید ، ما نمایه های موجود شما را برای انتخاب لیست می کنیم و به شما امکان می دهیم نمایه مورد نظر خود را با این زمینه مرتبط کنید.

 $ docker context ایجاد ecs test2
؟ ایجاد یک زمینه Docker با استفاده از: یک نمایه AWS موجود
؟ پیش فرض AWS Profile را انتخاب کنید
متن "test2" با موفقیت ایجاد شد
 
$ docker test test2
[
   {
       "Name": "test2",
       "Metadata": {
           "Description": "(eu-west-3)",
           "Type": "ecs"
       },
       "Endpoints": {
           "ecs": {
               "Profile": "nondefault",
           }
       ...
   }
] 

اگر می خواهید یک نمایه جدید ایجاد کنید ، ما از شما اعتبارنامه مورد نیاز برای انجام این کار را به عنوان بخشی از جریان ایجاد درخواست خواهیم کرد و این نمایه را برای شما ذخیره می کنیم:

؟ ایجاد زمینه Docker با استفاده از: یک نمایه جدید AWS
؟ شناسه کلید دسترسی AWS fiasdsdkngjgwka
؟ کلید دسترسی مخفی AWS را وارد کنید ******************
؟ منطقه eu-west-3
ذخیره در نمایه "test3"
زمینه ecs "test3" با موفقیت ایجاد شد
 
docker $ test test 3
[
   {
       "Name": "test3",
       "Metadata": {
           "Description": "(eu-west-3)",
           "Type": "ecs"
       },
       "Endpoints": {
           "ecs": {
               "Profile": "test3",
           }
       },
       ...
   }
] 

اگر می خواهید این کار را با استفاده از متغیرهای موجود در محیط AWS انجام دهید ، می توانید این گزینه را انتخاب کنید ما زمینه را با اشاره به این محتوا ایجاد خواهیم کرد بنابراین همچنان که با آنها کار می کنید احترام آنها را ادامه می دهیم: 19659013] $ docker context ایجاد ecs test1
؟ با استفاده از متغیرهای محیط AWS یک زمینه Docker ایجاد کنید
زمینه ecs با موفقیت ایجاد شد "test1"
$ docker test inspect test1
[
{
“Name”: “test1”,
“Metadata”: {
“Description”: “credentials read from environment”,
“Type”: “ecs”
},
“Endpoints”: {
“ecs”: {
“CredentialsFromEnv”: true
}
},

}
]

امیدواریم این روش ساده جدید برای شروع کار و پرچم هایی که در اینجا اضافه کرده ایم تا به شما اجازه دهند قسمتهایی از این قسمت را لغو کنید ، به شما کمک می کند حتی سریعتر از قبل با ECS شروع کنید.

ما واقعاً از تجربه جدیدی که با ECS ساخته ایم بسیار هیجان زده هستیم ، اگر در مورد این تجربه بازخورد دارید و یا ایده دیگری برای سایر افراد باطن برای Compose CLI دارید ، لطفاً از طریق نقشه راه عمومی ما را با ما در میان بگذارید.

به کارگاه ما "من نمی دانستم که می توانم چنین کاری را با داکر انجام دهم – AWS ECS ادغام" با Peter McKee داکر و Jonah Jones T AWS روز 19 ، 24 نوامبر 2020 – 10:00 صبح PT / 1:00 بعد از ظهر ET بپیوندید. را در اینجا ثبت کنید .