این مقاله یک مورد کاربردی جالب و مفید از docker را نشان میدهد، که در آن یک API سفارشی ساخته و ایجاد میکنیم. در مورد ما، اطلاعاتی در مورد قسمت های نمایش تلویزیونی "بازی تاج و تخت" ارائه می دهد. علاوه بر داکر، پشته ما شامل موارد زیر خواهد بود:

درباره API
API اطلاعاتی درباره قسمتها و نظرات درباره آنها ارائه میکند. نقاط پایانی برای ارسال، حذف و ویرایش آن نظرات نیز وجود دارد. اسناد در اینجا قابل دسترسی است. همچنین، نسخه خام json. در مخزن است، فقط در صورتی که پیوند دیگر بالا نباشد. می تواند فرآیند ایجاد و مدیریت سرویس های ابری را خودکار کند. در اینجا، ما از آن برای ایجاد یک سرور مطابق با مشخصات خود (اوبونتو 20.04، 1 سی پی یو، دیسک 25 گیگابایتی) استفاده کردیم، علاوه بر این، یک کلید SSH به سرور اضافه شد، بنابراین می توانیم بدون درخواست رمز عبور به آن دسترسی داشته باشیم. در اینجا درباره SSH بیشتر بیاموزید.
درباره افزونه Docker Compose V2
به جای معروف "docker-compose"، از نسخه جدید آن استفاده خواهیم کرد که اکنون با دستور "docker compose" قابل دسترسی است (به جای آن فاصله از خط تیره). این ابزار جدید در Golang ساخته شده است، بنابراین سریعتر از قبلی (ساخته شده در پایتون) است. همچنین شامل ویژگیهای جدیدی مانند ویژگی «پروفایل» است که میتواند برای ایجاد گروههایی از کانتینرهایی که میخواهیم از فایل docker-compose.yml اجرا کنیم، استفاده شود. در اینجا درباره Docker Compose V2 بیشتر بیاموزید.
نمودار توالی
این نمودار توالی مراحلی را که در کل فرآیند استقرار API ما برداشته میشود، نشان میدهد.

به طور خلاصه، Terraform سرور جدید را در Digital Ocean ایجاد خواهد کرد. ، سپس، از سرور جدید، مخزن API را از GitHub کلون می کنیم و کانتینرها را با "docker compose" شروع می کنیم. با انجام این کار، API از طریق آدرس عمومی سرور در پورت 5000 (که توسط پروژه Flask استفاده می شود) در اینترنت در دسترس خواهد بود. کاربر پیشفرض هنگام ایجاد نمونه سرور جدید ایجاد شد. داشتن دسترسی از راه دور "root" به یک سرور عمل خوبی در نظر گرفته نمی شود، جایگزین ایجاد یک کاربر جدید برای هدف و غیرفعال کردن دسترسی ریشه در سرور است (مقاله SSH که در بالا به آن اشاره شد نحوه انجام این کار را نشان می دهد).
دسترسی API، اگر میخواهید از پروژه مشابهی برای استفادههای حرفهای/تجاری استفاده کنید، توصیه میشود مکانیزمی را برای محدود کردن/کنترل درخواستهای API پیادهسازی کنید. چندین گزینه برای این منظور وجود دارد.
اطلاعات بیشتر
مخزن API: https://github.com/costa86/game-of-thrones-api
درباره نویسنده: https://costa86 .com/
این یک پست وبلاگ مهمان از عضو انجمن داکر، لورنزو کوستا است. وبلاگ ابتدا در اینجا ظاهر شد. ارائه ویدئویی از این پست از Docker's Community All-Hands را میتوانید در اینجا بیابید.
DockerCon2022
برای DockerCon2022 در روز سهشنبه، 10 می به ما بپیوندید. DockerCon یک رویداد مجازی رایگان و یک روزه است که تجربهای منحصر به فرد برای توسعهدهندگان است. و تیم های توسعه که در حال ساختن نسل بعدی برنامه های کاربردی مدرن هستند. اگر می خواهید در مورد چگونگی رفتن سریع از کد به ابر و نحوه حل چالش های توسعه خود بیاموزید، DockerCon 2022 محتوای زنده جذابی را ارائه می دهد تا به شما در ساخت، اشتراک گذاری و اجرای برنامه های کاربردی خود کمک کند. امروز در https://www.docker.com/dockercon/