چگونه از ذخیره ساز دائمی یا استوریج پایدار در تکنولوژی Docker و فناوری Virtualization & Cloud Technologies استفاده کنیم؟
بکارگیری سیستم ذخیره سازی Stable یا دائمی در تکنولوژی داکر Virtualization & Cloud Technologies
زمانیکه یک Container حذف (remode) میشود، data موجود در آن نیز از بین خواهد رفت. بنابراین در صورتیکه شما نیاز داشته باشید که پس از حذف Containerها از dataهای موجود در آنها از بین نروند، میبایست که از فایل سیستمهای external در Containerهای خود استفاده نمایید. برای مثال، جهت ایجاد یک Container فقط برای استفاده به منظور ذخیرهسازی data به عنوان یک storage serve با یک image به نام busybox بصورت زیر عمل نمایید.
توسط دستور زیر یک Dockerfile ایجاد نموده:
# vi Dockerfile
و سپس خطوط زیر را به آن اضافه نمایید:
FROM busybox
MAINTAINER ServerWorld <این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید>
VOLUME /storage
CMD /bin/sh
در آخر فایل مذکور را ذخیره کرده و از آن خارج شوید. سپس جهت build کردن image در مسیر جاری از دستور زیر استفاده نمایید:
# docker buil -t storage .
حال جهت اطمینان از build شدن صحیح image، توسط دستور زیر imageهایتان را یکبار لیست نمایید:
# docker images
در مرحله بعد، توسط دستور زیر یک Container با هر نامی که تمایل دارید generate نمایید:
# docker run -i -t —name storage_server storage
سپس دستور exit را اجرا کنید:
/ # exit
حال جهت استفاده از Container ایجاد شده به عنوان یک Storage Server برای دیگر Containerها، option یا گزینه —volumes-from را به موقع اجرای Containerهای خود اضافه نمایید. به عنوان مثال، در اینجا من قصد دارم یکی از Containerهای خود به نام centos_server را در حالیکه قرار است تا dataهایش در Storage Serverی که در مرحله قبل با نام storage_server ایجاد کردهایم، ذخیره شود، توسط دستور زیر اجرا میکنم:
# docker run -i -t —name centos_server —volumes-from storage_server centos /bin/bash
در ادامه دستور زیر را اجرا میکنیم:
# df -hT
حال توسط دستور echo فایل متنی با نام testfile.txt در مسیر Storage Server یعنی /storage ایجاد نموده و عبارت persistent storage را در آن اضافه میکنیم:
# echo "persistent storage" » /storage/testfile.txt
و سپس دایرکتوری /storage را لیست میکنیم:
# ll /storage
همانطور که مشاهده میکنید، فایل testfile.txt به درستی بر روی Storage Serverمان ایجاد شده است. در ادامه برای اینکه اطمینان حاصل کنیم که data فایل testfile.txt که متن بود (عبارت persistent storage) در فایل سیستم external به درستی ذخیره شده است، Container مربوط به Storage Serverمان را یکبار start و سپس attach میکنیم:
# docker start storage_server
# docker attach storage_server
و بعد با دستور cat محتوای فایل textfile.txt را نمایش میدهیم:
/ # cat /storage/testfile.txt
همانطور که در خروجی مشاهده میکنید، محتویای فایل testfile.txt حتی بعد از اجرای دوباره Container مربوط به Storage Serverمان حذف نشده است.
اما به عنوان روشی دیگری جهت ذخیرهسازی data در فایل سیستم external، میتوانیم ابتدا یک دایرکتوری بر روی Docker Host خود برای Containerها ایجاد کرده و سپس توسط دستور echo فایلی متنی با نام testfile.txt در مسیر دایرکتوری مزبور ایجاد و مجدداً متنی را در آن وارد کنید (به عنوان مثال عبارت persistent storage).
# mkdir -p /var/docker/disk01
# echo "persistent storage" » /var/docker/disk01/testfile.txt
سپس به عنوان مثال، یک Container با mount کردن دایرکتوری فوق روی دایرکتوری /mnt اجرا میکنیم:
# docker run -i -t -v /var/docker/disk01:/mnt centos /bin/bash
و بار دیگر دستور زیر را اجرا میکنیم:
# df -hT
در آخر نیز جهت اطمینان از حذف اطلاعات و data فایل متنی testfile.txt، کافیست توسط دستور cat محتوای آن را نمایش دهیم:
# cat /mnt/testfile.txt
برای دریافت آخرین خبرهای مجازی سازی و جدیدترین اخبار فناوری اطلاعات و مطالب آموزشی تخصصی شبکه و آخرین خبرهای تکنولوژی و فناوری به کانال تلگرام گروه پال نت بپیوندید.
Channel: @palnetgroup