اجرای ایمیج داکر
اگر ایمیج را خودتان در CI ساختهاید یا میخواهید یک نرمافزار آماده را همانطور که هست اجرا کنید، از «ایمیج داکر» استفاده کنید. گردو ایمیج را میگیرد و اجرا میکند و چیزی نمیسازد، پس استقرار سریع است.
نام ایمیج را بنویسید
در «سرویس جدید ← ایمیج داکر»، نام کامل ایمیج با تگ را بنویسید، مثلاً ghcr.io/acme/api:1.4.2 یا nginx:1.27-alpine.
اگر ایمیج خصوصی است، ورود به رجیستری را بدهید
«نام کاربری رجیستری» و «توکن رجیستری» را پر کنید. برای GHCR یک توکن GitHub با اجازهٔ read:packages، برای Docker Hub یک Access Token از تنظیمات حسابتان بسازید. برای ایمیج عمومی این دو را خالی بگذارید.
پورت را تنظیم کنید
«پورت داخلی» همان پورتی است که برنامهٔ داخل ایمیج روی آن گوش میدهد (در مستندات ایمیج یا خط EXPOSE در Dockerfile آن آمده است). مثلاً برای nginx عدد 80.
بهروزرسانی نسخه
در زبانهٔ «تنظیمات» سرویس، تگ ایمیج را عوض کنید و «ذخیره و اعمال» را بزنید. تغییر ایمیج سرویس را دوباره راهاندازی میکند.
همیشه تگ مشخص بگذارید (1.4.2)، نه latest. با latest نمیدانید چه نسخهای اجرا شده و بازگشت به نسخهٔ قبل معنای روشنی ندارد.
اگر ایمیج را در CI میسازید، بعد از push ایمیج تازه میتوانید با Deploy Hook یا gerdoo CLI استقرار را از همان CI شروع کنید.
ایمیجهایی که از بازارچه نصب شدهاند قابل تغییر از این بخش نیستند («ایمیج بازارچه قابل تغییر نیست»).
اگر به خطا خوردید
ایمیج دریافت نشد
- نام یا تگ را دوباره بررسی کنید؛ به حروف کوچک و بزرگ حساس است.
- اگر ایمیج خصوصی است، نام کاربری و توکن را بررسی کنید و ببینید توکن اجازهٔ خواندن آن ایمیج را دارد.
- ایمیج باید برای معماری
linux/amd64ساخته شده باشد. ایمیجی که روی مک با تراشهٔ Apple ساخته شده معمولاً فقطarm64است؛ باdocker buildx build --platform linux/amd64دوباره بسازید.
ایمیج اجرا شد ولی سرویس آماده نمیشود
تقریباً همیشه پورت اشتباه است. گردو ترافیک و بررسی سلامت را به «پورت داخلی» میفرستد؛ اگر برنامه روی پورت دیگری یا فقط روی 127.0.0.1 گوش بدهد، هیچوقت آماده نمیشود. راهنمای کامل در سرویس بالا نمیآید.
برنامه فایلهایش را بعد از ریاستارت گم میکند
فایلسیستم کانتینر موقت است. پوشهای که داده در آن نوشته میشود را روی یک دیسک ماندگار بگذارید.
در سایت گردواجرای کانتینر و ایمیج داکر در گردو