Dockerfile / imageاگر image برنامه را از قبل در یک registry ساختهاید، ابران میتواند همان artifact را بدون build کردن source روی App مستقر کند.
پیشنیازها
- ورود به CLI و انتخاب پروژه
- یک App موجود با پورت runtime درست
- آدرس کامل image شامل tag یا digest
- دسترسی ابران به registry؛ نمونه این صفحه از image عمومی استفاده میکند
۱. پورت image را مشخص کنید
برنامه داخل container باید روی 0.0.0.0 گوش دهد. پورت App نیز باید با پورت واقعی process یکسان باشد.
اگر App را تازه میسازید:
abrun app create container-api --plan <plan> --port 8080۲. image را مستقر کنید
بهجای tag متغیر latest، نسخه یا digest مشخصی انتخاب کنید تا rollback و عیبیابی قابلتکرار باشد:
abrun deploy container-api --image ghcr.io/acme/api:1.4.0 --port 8080در image deployment مرحله ارسال source و build محلی وجود ندارد. ابران image را دریافت میکند، release را اعمال میکند و health برنامه را بررسی میکند.
۳. نتیجه را بررسی کنید
استقرار موفق با Ready و URL نسخه فعال تمام میشود:
abrun app inspect container-api
abrun app logs container-api --tail 100یک endpoint واقعی برنامه را نیز فراخوانی کنید؛ فعالبودن process بهتنهایی موفقیت مسیرهای اصلی محصول را ثابت نمیکند.
بهروزرسانی image
برای انتشار نسخه بعدی، deploy جدیدی با tag یا digest جدید بسازید:
abrun deploy container-api --image ghcr.io/acme/api:1.4.1 --message 'Release 1.4.1'هر deploy history مستقل دارد. اگر نسخه جدید مشکل داشت، طبق راهنمای rollback به deployment سالم برگردید.
image خصوصی
پیش از deploy، Registry resource همان provider را از API عمومی ابران ثبت و اعتبارسنجی کنید. مدیریت کامل registry در CLI و کنسول در این راهنما پوشش داده نمیشود. credential را داخل image URL، command، repository یا log قرار ندهید. اگر pull با خطای authorization شکست خورد، دسترسی repository و تطابق hostname credential با hostname image را بررسی کنید.
رفع مشکل
image pullیا authorization: نام registry، repository، tag و credential را بررسی کنید.Checking healthناموفق: پورت App و پورت process داخل image باید برابر باشند.- container بلافاصله خارج میشود: command پیشفرض image و لاگ runtime را بررسی کنید.
- معماری ناسازگار: image باید برای معماری runtime ابران ساخته شده باشد.