Docker
محتویات |
Docker
تفاوت داکر و VM
، Docker هیچ سیستم عامل جدیدی ایجاد نمی کند بلکه این امکان را به بسته نرم افزاری ایجاد شده می دهد که از Kernel اصلی سیستم عامل لینوکسی که بر روی آن نصب شده است استفاده کند و در زمان انتقال نیز فقط Package نرم افزاری منتقل می شود نه ماشین مجازی ، در واقع Docker Engine یا موتور اصلی Docker جایگزین نرم افزار Hypervisor ما می شود و اینکار یعنی کارایی سیستم ما به شدت افزایش می یابد زیرا یک لایه واسط به نام Hypervisor حذف شده و نرم افزار بصورت مستقیم با هسته اصلی سیستم عامل کار میکند با این تفاوت که کاملا ایزوله شده است.
در تصویر بالا هم در داکر و هم در ماشین مجازی دو عنصور Server، Host Os مشترک است. در مرحله بعدی در ماشین مجازی یک مجازی ساز مانند Vmware، VirtualBox و در داکر نرم افزار Docker را نصب داریم. تفاوتها از اینجا شروع میشود که در ماشین مجازی باید یک سیستم عامل کامل را نصب و نرم افزارها را روی آن نصب کرد. ولی داکر این مرحله را ساده کرده است و یک نسخه کوچک از سیستم عامل را در خود دارد که بدون نیاز به نصب سیستم عاملهای سنگین و پیچیده میتوان نرم افزارها را روی آن نصب و تست کرد. هرچند میتوان نسخه کوچکی از نسخههای مختلف سیستم عامل را نیز نصب کرد ولی باز هم بسیار راحت تر از سیستم ماشینهای مجازی است. از مزایای استفاده از داکر نسبت به مجازی ساز میتوان به موارد زیر اشاره کرد: ایجاد و حذف بسیار سریع Container ها ریستارت و خاموش کردن بسیار سریع انتقال پذیری راحت و سبک مدیریت منابع و ریسورسها به صورت قدرتمند و متغیر و …
داکر Image:
در داکر Imageها را پس از دریافت اجرا میکنیم. همانطور که در بالا میبینید یک Base Image مانند Debian روی این داکر نصب شده است و روی آن Imageهای دیگر را نصب کرده ایم. Imageها پس از پایان به حالت اولیه خود باز میگردند چون همانطور از نام آنها مشخص است تنها یک تصویری از پکیج اصلی هستند. برای حذف تغییرات Image میتوان حالت آنها را با دستورات خاصی ذخیره کرد.
Docker Hub چیست؟
یک سرویس اشتراک گذاری تهیه شده توسط شرکت Docker است که شامل مخزنی از imageهای آماده برای Docker است. این مخزن حاوی دهها هزار برنامه و سیستم عامل است که میتوان به آن imageهایی را هم اضافه کرد. توجه کنید که شرکت پارس پویش دارای hub مخصوص به خود است.
Docker Container:
در واقع میتوان گفت Container ظرفی است که Imageها را در آن اجرا میکنند. Containerها از روی Imageها ایجاد میشوند و به وظایف خود عمل میکنند. مثلا فرض کنید از یک Centos چند Container میسازیم و در هر کدام تغییرات متفاوتی اعمال میکنیم.
- Complete Backup :
در این نوع از پشتیبان گیری به صورت کاملا از تمام پایگاه داده نسخه پشتیبان تهیه میشود .
- Custom Backup :
در این نوع از پشتیبان گیری از تمامی اطلاعات و table ها به جز connection log ها نسخه پشتیبان تهیه میشود .
- hourly Backup :
در این نوع از پشتیبان گیری تنها از table های اصلی مثل شارژها و credit کاربران نسخه پشتیبان تهیه میشود .
نکته : به طور کلی در تهیه نسخه پشتیبان در هیچ حالتی از snapshot ها نسخه پشتیبان تهیه نمیشود .
Configuration Backup Service
تنظیم سرویس های پشتیبان گیری به دو صورت امکان پذیر است :
- از طریق Command-line
- از طریق ابزار ibsng-tools
Command-line Configuration
Complete Backup :
تنطیمات مربوط به این مدل از پشتیبان گیری در فایل زیر صورت میگیرد :
/usr/local/src/tools/db/ibsng_backup/complete/config_file
تنظیمات مربوط به مسیر نسخه پشتیبان , تعداد نسخه های موجود تا rotate , زمان تهیه آن , دوره زمانی تهیه نسخه پشتیبان و همچنین مسیری برای کپی کردن این نسخه خارج از سرور local به صورت زیر ذخیره میگردد :
path_backup="/var/backups/IBSng/complete" log_file=/var/log/IBSng/ibs_backup.log periodic="3" auto_run_time_h=6 auto_run_time_m=30 type=monthly exteranl_dir=/media/backups/IBSng/complete/
همچنین برای start کردن این سرویس مقدار Enable را در فایل زیر وارد میکنیم :
/usr/local/src/tools/db/ibsng_backup/complete/service_status
Custom Backup :
تنطیمات مربوط به این مدل از پشتیبان گیری در فایل زیر صورت میگیرد :
/usr/local/src/tools/db/ibsng_backup/custom/config_file
تنظیمات مربوط به مسیر نسخه پشتیبان , تعداد نسخه های موجود تا rotate , زمان تهیه آن , دوره زمانی تهیه نسخه پشتیبان و همچنین مسیری برای کپی کردن این نسخه خارج از سرور local به صورت زیر ذخیره میگردد :
path_backup="/var/backups/IBSng/custom" log_file=/var/log/IBSng/ibs_backup.log periodic="3" auto_run_time_h=6 auto_run_time_m=30 type=weekly exteranl_dir=/media/backups/IBSng/custom/
همچنین برای start کردن این سرویس مقدار Enable را در فایل زیر وارد میکنیم :
/usr/local/src/tools/db/ibsng_backup/custom/service_status
hourly Backup :
تنطیمات مربوط به این مدل از پشتیبان گیری در فایل زیر صورت میگیرد :
/usr/local/src/tools/db/ibsng_backup/hourly/config_file
تنظیمات مربوط به مسیر نسخه پشتیبان , تعداد نسخه های موجود تا rotate و همچنین مسیری برای کپی کردن این نسخه خارج از سرور local به صورت زیر ذخیره میگردد :
path_backup="/var/backups/IBSng/hourly" log_file=/var/log/IBSng/ibs_backup.log periodic="48" interval=1 exteranl_dir=/media/backups/IBSng/hourly/
همچنین برای start کردن این سرویس مقدار Enable را در فایل زیر وارد میکنیم :
/usr/local/src/tools/db/ibsng_backup/hourly/service_status
ibsng-tools Configuration
برای راه اندازی این سرویس از طریق ibsng-tools مراحل زیر را طی میکنیم :
ابتدا فرمان ibsng-tools را اجرا میکنیم. سپس مطابق شکل زیر گزینه service را انتخاب میکنیم :
در پنجره بعد گزینه backups را انتخاب میکنیم :
در پنجره بعد گزینه IBSng را انتخاب میکنیم :
در پنجره بعد نوع backup مورد نظر را انتخاب میکنیم :
سپس برای Enable کردن سرویس گزینه status و برای تنظیم سرویس گزینه Configuration را انتخاب میکنیم :
Start Backup Service
پس از تنظیم فایل های موردنظر برای start کردن سرویس از فرمان های زیر استفاده می کنیم :
برای start کردن Complete backup فرمان زیر را اجرا میکنیم :
ibs_backup
سپس صحت پشتیبان گیری را با فرمان زیر چک میکنیم :
cat /var/backups/IBSng/complete/pre_end
خروجی این فایل میباست مقدار " 1 " باشد.
برای start کردن Custom backup فرمان زیر را اجرا میکنیم :
ibs_backup_custom
سپس صحت پشتیبان گیری را با فرمان زیر چک میکنیم :
cat /var/backups/IBSng/custom/pre_end
خروجی این فایل میباست مقدار " 1 " باشد.
برای start کردن hourly backup فرمان زیر را اجرا میکنیم :
ibs_backup_hourly
سپس صحت پشتیبان گیری را با فرمان زیر چک میکنیم :
cat /var/backups/IBSng/hourly/pre_end
خروجی این فایل میباست مقدار " 1 " باشد.