داکرایز کردن پروژه
نوشتن Dockerfile چندمرحله ای (multi-stage) برای هر سرویس، با ایمیج پایه سبک، کاربر غیر root و فایل .dockerignore درست.
شروع و ارزیابی
ارزیابی رایگان 5مشکل فوری
خدمات فوری 4پشتیبانی مستمر
قرارداد پشتیبانی 5پروژه ها
سرور و هاستینگ 6 شبکه و مجازی سازی 9 دواپس و اتوماسیون 5 امنیت و بازیابی 5 تجهیزات و لایسنس 2 اینترنت اشیا و هوشمندسازی 3بدون هزینه بفهمید وضعیت سرور، امنیت، بکاپ و سرعت سیستم هایتان چطور است.
سرور یا شبکه قطع است، سایت هک شده یا اطلاعات از دست رفته؟ همین حالا تماس بگیرید.
پشتیبانی و نگهداری ماهانه شبکه و سرور با زمان پاسخ مشخص در قرارداد.
نصب، کانفیگ، مدیریت و انتقال سرورهای لینوکس، ویندوز، کنترل پنل ها و ایمیل سرور.
طراحی و اجرای شبکه، میکروتیک، ویپ، اتصال شعب، مجازی سازی و ابر خصوصی.
شبکه و ارتباطات
مجازی سازی و ابر
کانتینر، کوبرنتیز، استقرار خودکار، زیرساخت به عنوان کد و مانیتورینگ پیشرفته.
امن سازی سرور، فایروال، بکاپ و DR، بازیابی از باج افزار و بررسی حملات.
مشاوره، تأمین و نصب سرور و تجهیزات شبکه، و لایسنس اورجینال نرم افزارهای سازمانی.
خانه، محیط کار و تجهیزات متصل؛ از انتخاب سناریو تا کنترل و پایش.
شروع و ارزیابی
مشکل فوری
پشتیبانی مستمر
پروژه ها
داکر بسته بندی برنامه و وابستگی های آن را قابل تکرارتر می کند، اما تفاوت سخت افزار، شبکه، تنظیمات و داده را به تنهایی برطرف نمی کند. محیط فعلی را بررسی می کنیم و Dockerfile و تنظیمات Compose را متناسب با نیاز و آزمون پذیرش پروژه آماده می کنیم.
این خدمت برای بسته بندی و استقرار برنامه با Docker و Compose است. پیش از اجرا، وابستگی ها، پلتفرم مقصد، داده پایدار، دسترسی ها و نیاز بازیابی بررسی می شوند. Dockerfile، تنظیمات Compose و مستند استقرار و برگشت در دامنه توافق شده تحویل داده می شوند. رجیستری خصوصی، mirror، اسکن ایمیج و اتصال CI بر اساس نیاز پروژه تعیین می شوند. mirror دریافت تکراری را کاهش می دهد؛ مستقل شدن از اینترنت به آماده بودن همه ایمیج ها و سایر وابستگی های build نیاز دارد و باید جداگانه آزمایش شود.
نوشتن Dockerfile چندمرحله ای (multi-stage) برای هر سرویس، با ایمیج پایه سبک، کاربر غیر root و فایل .dockerignore درست.
تعریف سرویس ها، شبکه ها، volumeها و متغیرهای محیطی در compose.yaml، با healthcheck و سیاست restart برای هر کانتینر.
راه اندازی Harbor یا Docker Registry روی سرور خودتان برای نگهداری ایمیج ها. به خاطر محدودیت دسترسی به Docker Hub، یک mirror داخلی هم تنظیم می کنیم.
اسکن ایمیج ها با Trivy، حذف capabilityهای غیرلازم، فقط خواندنی کردن فایل سیستم در جای ممکن و ندادن دسترسی docker.sock به کانتینرها.
تنظیم log driver و چرخش لاگ تا دیسک پر نشود، و تعیین سقف CPU و حافظه برای هر کانتینر.
تنظیمات عادی برنامه باید از کد و ایمیج جدا باشند. رمز و کلید را در Dockerfile، ARG، ENV یا فایل commit شده قرار ندهید؛ برای build از secret mount و برای اجرا از روش مدیریت secrets متناسب با محیط استفاده کنید. مسیر داده های پایدار، بکاپ و آزمون بازیابی را مشخص کنید؛ حذف و جایگزینی کانتینر می تواند داده لایه قابل نوشتن آن را از بین ببرد. لاگ، healthcheck، migration و کارهای زمان بندی شده نیز باید مسئول و روش اجرا داشته باشند.
انتشار پورت دیتابیس مانند 3306:3306 می تواند آن را از میزبان های دیگر قابل دسترس کند. در شبکه bridge لینوکس، قواعد Docker ممکن است مسیر مورد انتظار ufw را دور بزنند؛ دسترسی را با توجه به backend و توپولوژی واقعی از بیرون آزمایش کنید. تگ قابل تغییر مانند latest، مرجع ثابتی برای بازگشت نیست؛ برای ارجاع دقیق، digest ایمیج را ثبت و همان ایمیج را برای بازگشت نگه دارید؛ تگ نسخه نیز ممکن است تغییر کند و سیاست به روزرسانی جدا لازم است. depends_on به تنهایی آماده بودن برنامه را تضمین نمی کند؛ برای وابستگی مناسب، healthcheck و condition: service_healthy را تنظیم و رفتار زمان اجرا را جدا آزمایش کنید. secrets و محدودیت حجم لاگ را نیز بازبینی کنید.
تعداد سرویس ها مهم است، ولی ساختار آن ها اثر بیشتری دارد. یک برنامه Laravel یا Django که به روش متداول نوشته شده معمولاً سریع داکرایز می شود. برنامه قدیمی که به نسخه خاصی از PHP، افزونه های کامپایل شده یا فایل هایی در مسیرهای ثابت سیستم عامل وابسته است، کار بیشتری می برد.
تعداد محیط ها، راه اندازی رجیستری خصوصی و mirror از صفر، حجم داده ای که باید به volume منتقل شود و اتصال ساخت ایمیج به پایپ لاین CI هم در برآورد می آیند.
ایمیج های ساخته شده خودکار با اصلاح ایمیج پایه به روز نمی شوند. نتیجه اسکن، نسخه وابستگی ها و اصلاح موجود را بررسی کنید؛ سپس rebuild، آزمون و استقرار کنترل شده انجام دهید. اسکن و rebuild به تنهایی نبود آسیب پذیری را تضمین نمی کنند. فضای دیسک را با docker system df بررسی کنید و پیش از پاکسازی، داده و ایمیج های لازم برای بازیابی را مشخص کنید. ارتقای Engine، Compose و تنظیمات رجیستری ابتدا در محیط آزمایش بررسی شود.
ساختار کد، وابستگی ها، دیتابیس و روش فعلی استقرار را می خوانیم تا روشن شود چه چیزی داخل کانتینر برود و چه چیزی بیرون بماند.
Dockerfileها را می نویسیم، حجم ایمیج و زمان build را کم می کنیم و همه چیز را روی محیط تست اجرا می کنیم.
Docker Engine را روی سرور نصب و تنظیم می کنیم، داده ها را به volume منتقل می کنیم و سرویس را پشت Nginx یا Traefik قرار می دهیم.
مستندات را می سپاریم و یک به روزرسانی و یک rollback واقعی را کنار تیم شما اجرا می کنیم.
داکر برنامه را همراه وابستگی هایش در کانتینر بسته بندی و اجرا می کند و کوبرنتیز اجرای کانتینرها را روی چند سرور مدیریت می کند. برای بیشتر پروژه های کوچک و متوسط، Docker Compose روی یک یا دو سرور کافی است. کوبرنتیز وقتی معنا دارد که سرویس های زیادی دارید، مقیاس پذیری خودکار لازم است یا تیمی برای نگهداری آن دارید، و این را در جلسه اول با هم می سنجیم.
ممکن است، به شرط اینکه داده روی volume پایدار باشد و بکاپ منظم داشته باشد. برای دیتابیس های پرترافیک معمولاً اجرای مستقیم روی سرور یا یک ماشین مجازی جداگانه را پیشنهاد می کنیم، و انتخاب نهایی را حجم داده و نیاز بازیابی مشخص می کند.
رجیستری خصوصی و mirror می توانند دریافت های تکراری را کم کنند، اما دریافت اولیه، بررسی به روز بودن تگ ها و سایر وابستگی های build ممکن است همچنان به بیرون نیاز داشته باشد. برای کار آفلاین، ایمیج ها و وابستگی های لازم باید از قبل در محیط مجاز آماده شوند و build و بازیابی بدون دسترسی بیرونی جداگانه آزموده شود.
بله. در مشاوره داکر، ساختار ایمیج ها، محیط توسعه محلی با Compose و مسیر رسیدن به استقرار خودکار را با تیم برنامه نویسی طراحی می کنیم. اجرا می تواند با تیم شما یا با ما باشد.
جست وجوهای مرتبط
دواپس
دواپس
دواپس
دواپس
دواپس استعلام
چند خط درباره وضعیت فعلی و چیزی که می خواهید بنویسید. یک مهندس خودش با شما تماس می گیرد و درخواست به واحد فروش نمی رود.