هر دیپلوی کانتینرِ اپ را از نو میسازد. هر فایلی که اپ داخلِ کانتینر بنویسد (عکسِ آپلودشده، خروجیِ گزارش، کش) با دیپلویِ بعدی پاک میشود، مگر اینکه داخلِ یک volume باشد.
افزودنِ volume#
- در صفحهی اپ به تبِ Storage بروید (owner یا admin).
- پوشهای از داخلِ اپ را بنویسید، مثلاً
/app/uploadsیا/var/www/html/wp-content. - ADD VOLUME را بزنید و اپ را REDEPLOY کنید. volume از همان دیپلو وصل میشود.
- هر اپ حداکثر ۵ volume دارد.
- پوشههای سیستمی (مثلِ
/etc،/usr،/proc) مجاز نیستند. - volumeهای اپهایی که با docker-compose ساخته شدهاند از خودِ فایلِ compose میآیند. آنجا اضافه یا عوضشان کنید و redeploy کنید.
موقعِ ساخت (حالتِ ساده)#
اگر ویزارد ببیند پروژه دادهاش را داخلِ پوشهی پروژه مینویسد (مثلاً data/ یا uploads/)، گزینهی نگهداشتنِ دادهها روی فضای دائمی را پیشنهاد میدهد. با تیک زدنش، همان پوشه از اولین دیپلو روی volume میرود و لازم نیست بعداً دستی اضافهاش کنید.
اگر پروژه SQLite دارد و آدرسِ فایلش را از DATABASE_URL میخواند، ویزارد یک خطِ DATABASE_URL اضافه میکند که فایلِ SQLite را داخلِ همان پوشهی دائمی میگذارد. اگر آدرسِ فایل در کد ثابت باشد، این راه کار نمیکند و باید دیتابیس وصل کنید. برای دادهی مهم، دیتابیسِ جدا (مثلاً PostgreSQL) همچنان مطمئنتر است.
در حالتِ گیک volume را بعد از ساخت از تبِ Storage اضافه کنید.
فضا و هزینه#
حجمِ volumeها جزوِ دیسکِ پکِ همان اپ است و جدا حساب نمیشود. تبِ Storage مصرفِ فعلی را نشان میدهد. وقتی دیسک پر شود، طبقِ آستانهی SETTINGS → MONITOR (پیشفرض ۸۵٪) هشدار میگیرید. اگر جا کم آمد، فایلهای قدیمی را پاک کنید یا پکِ بزرگتری بگیرید.
حذف#
REMOVE را بزنید و برای تأیید مسیرِ volume را تایپ کنید، بعد اپ را redeploy کنید. بعد از آن دیپلوی، فایلهای volume از سرور برای همیشه پاک میشوند. اگر چیزی لازم دارید، قبلش از شِلِ کانتینر بیرون بیاورید.
