Docker

از ویکی پارس پویش
ویرایش در تاریخ ‏۲۱ ژوئن ۲۰۱۷، ساعت ۰۸:۴۳ توسط Siavash (بحث | مشارکت‌ها)

پرش به: ناوبری, جستجو

محتویات

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 می‌سازیم و در هر کدام تغییرات متفاوتی اعمال می‌کنیم.


نصب debian

برای نصب لازم است دو هارد جداگانه در نظر گرفته شود. در هارد اول میتوانید debian را نصب کرده و هارد دوم را به دایرکتوری زیر mount کنید. از شکل زیر پیروی کنید.



پس از پارتیشن بندی به روش فوق, docker را نصب نمایید.

نصب docker

برای نصب لازم است ابتدا package های مورد نیاز را نصب کنیم. برای این کار دستور زیر را وارد میکنیم:

  apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common  

حال کلید رسمی منتشر شده از سایت docker‌ را اضافه میکنیم.



Add Docker’s official GPG key:

</div>

 curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -  

حال repository مورد نیاز برای نصب docker را اضافه مینماییم.


</div>

 add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian  $(lsb_release -cs) stable"  


سپس با دستورات زیرریپوزیتوری سیستم را به روز رسانی میکنیم


 apt-get update 

سپس با دستورات زیرdocker را نصب میکنیم


 apt-get install docker-ce  

حال میتوانید docker-compose را نصب نمایید

' curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 

chmod +x /usr/local/bin/docker-compose


دانلود ایمیج از parspooyesh hub

تنظیمات سرور

همچنین فایل زیر را باز نمایید

 Vim /etc/docker/daemon.json 

و کد زیر را در آن اضافه نمایید


{

   "insecure-registries": ["5.202.129.64:5000"]

}

  

استفاده از docker-compose برای اجرای docker ibs در فولدر home یوزر خود فولدری به نام dockerCompose ایجاد نمایید. و فایلی به نام docker-compose.yml در آن ایجاد نمایید در این فایل کد زیر را وارد کنید

D1.png

D2.png

  • Complete Backup :

در این نوع از پشتیبان گیری به صورت کاملا از تمام پایگاه داده نسخه پشتیبان تهیه میشود .


  • Custom Backup :

در این نوع از پشتیبان گیری از تمامی اطلاعات و table ها به جز connection log ‌ها نسخه پشتیبان تهیه میشود .


  • hourly Backup :

در این نوع از پشتیبان گیری تنها از table های اصلی مثل شارژها و credit کاربران نسخه پشتیبان تهیه میشود .


نکته : به طور کلی در تهیه نسخه پشتیبان در هیچ حالتی از snapshot ها نسخه پشتیبان تهیه نمیشود .

Configuration Backup Service

تنظیم سرویس های پشتیبان گیری به دو صورت امکان پذیر است :

  • از طریق Command-line
  • از طریق ابزار ibsng-tools

Command-line Configuration

Complete Backup :

تنطیمات مربوط به این مدل از پشتیبان گیری در فایل زیر صورت میگیرد :

</div>

  /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 را انتخاب میکنیم :

2.jpg

در پنجره بعد گزینه backups ‌را انتخاب میکنیم :

5.jpg

در پنجره بعد گزینه IBSng ‌را انتخاب میکنیم :

6.jpg

در پنجره بعد نوع backup مورد نظر ‌را انتخاب میکنیم :

7.jpg

سپس برای Enable کردن سرویس گزینه status و برای تنظیم سرویس گزینه Configuration را انتخاب میکنیم :

8.jpg

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 " باشد.

ابزارهای شخصی

گویش‌ها
فضاهای نام
عملکردها
گشتن
جعبه‌ابزار