اشتراک گذاری داده‌ها بین Docker Containers در اوبونتو

1402/05/31
40 بازدید

آموزش اشتراک گذاری داده‌ها بین Docker Containers در اوبونتو

اشتراک گذاری داده‌ها بین Docker Containers در اوبونتو یکی از ویژگی‌های مهم در استفاده از تکنولوژی داکر است. با استفاده از امکانات موجود در Docker، می‌توان داده‌هایی را که توسط یک کانتینر تولید شده است، به کانتینر‌های دیگر انتقال داد. Docker پلتفرمی است که اجرای فرآیندهای ایجاد، پیاده سازی و اجرای برنامه‌ها را در یک کانتینر بسیار ساده و آسان می‌کند.

استفاده از Docker Containers تضمین می‌کند که نرم‌افزار بدون توجه به جایی که در آن مستقر شده است، یکسان رفتار خواهد کرد، زیرا محیط زمان اجرا آن سازگار است. به طور کلی، Docker Containers زودگذر هستند و تا زمانی که دستور صادر شده در Docker Containers تکمیل شود، اجرا می‌شوند. در این مقاله به چهار روش مختلف برای به اشتراک گذاری داده‌ها بین Docker Containers خواهیم پرداخت. امروز با ما با این آموزش در وب سایت ایران هاستینگ 24 همراه باشید.

پیش نیاز ها

برای اجرای این آموزش به یک سرور ابری با سیستم عامل اوبونتو با کاربر non-root با امتیازات sudo نیاز دارید. برای خرید سرور ابری با بهترین قیمت می توانید به وب سایت ایران هاستینگ 24 مراجعه کنید.

چگونه یک حجم مستقل ایجاد کنیم؟

دستور ایجاد حجم Docker Containers این امکان را برای شما فراهم می‌آورد تا بدون اتصال آن به هر کانتینر خاص، یک حجم ایجاد کنید. با استفاده از دستور زیر می‌توانید حجمی به نام DataVolume۱ اضافه کنید.

docker volume create –name DataVolume1

نام حجم موردنظر شما نمایش داده می‌شود که نشان می‌دهد دستور شما موفقیت آمیز بوده است.

Output

DataVolume1

برای استفاده از این حجم، لازم است یک کانتینر جدید از تصویر اوبونتو ایجاد کنید. با استفاده از دستور rm– می‌توانید آن را به طور خودکار در هنگام خروج حذف کنید و از دستور v- برای نصب حجم جدید استفاده کنید. v- به نام حجم، به یک کولون، سپس مسیر مطلق به جایی که حجم باید در داخل کانتینر ظاهر شود، نیاز دارد. اگر دایرکتوری‌های موجود در مسیر به عنوان بخشی از تصویر وجود نداشته باشند، هنگام اجرای دستور ایجاد می‌شوند. اگر آنها وجود داشته باشند، حجم نصب شده محتوای موجود را پنهان می‌کند.

docker run -ti –rm -v DataVolume1:/datavolume1 ubuntu

در حالی که در کانتینر هستید، مقداری داده در حجم بنویسید.

echo “Example1” > /datavolume1/Example1.txt

از آنجایی که از دستور rm– استفاده کرده‌اید، پس از خروج، کانتینر شما به طور خودکار حذف می‌شود. با این حال، حجم شما همچنان در دسترس خواهد بود.

exit

با بررسی حجم داکر، وجود حجم کش در سیستم را می توان بررسی کرد.

docker volume inspect DataVolume1

خروجی زیر را دریافت خواهید کرد.

Docker Containers
Docker Containers

سپس، یک کانتینر جدید راه اندازی کنید و DataVolume۱ را به آن متصل کنید.

docker run –rm -ti -v DataVolume1:/datavolume1 ubuntu

با اجرای دستور زیر محتویات را بررسی کنید.

cat /datavolume1/Example1.txt

خروجی زیر را دریافت خواهید کرد.

Output

Example1

با اجرای دستور exit از کانتینر خارج شوید.

در این آموزش، شما یک حجم ایجاد کردید، آن را به یک کانتینر متصل و پایداری آن را تایید کردید.

نحوه ایجاد حجمی که پس از حذف کانتینر باقی مانده است

در ادامه، همزمان با کانتینر، به ایجاد حجم، حذف container و سپس اتصال حجم به کانتینر خواهیم پرداخت. بادستور docker run می‌توانید یک کانتینر جدید با استفاده از تصویر پایه اوبونتو ایجاد کنید. دستور t- یک ترمینال و i- امکان تعامل با آن را ارائه می‌‌دهد. برای وضوح، از name– برای شناسایی کانتینر استفاده کنید.

دستور v- این امکان را برای شما فراهم می‌کند تا یک حجم جدید با نام DataVolume2 ایجاد کنید. برای جدا کردن این نام از مسیری که حجم باید در کانتینر نصب شود، لازم است از یک کولون استفاده کنید. در نهایت، تصویر پایه اوبونتو را مشخص کرده و با استفاده از دستور پیش فرض در فایل Docker، تصویر پایه اوبونتو و bash را در یک پوسته قرار دهید.

docker run -ti –name=Container2 -v DataVolume2:/datavolume2 ubuntu

در حالی که در کانتینر هستید، برخی از داده‌ها را روی حجم می‌نویسید.

echo “Example2” > /datavolume2/Example2.txt

cat /datavolume2/Example2.txt

خروجی زیر را دریافت خواهید کرد.

Output

Example2

با اجرای دستور exit از کانتینر خارج شوید.

هنگامی که کانتینر را مجددا راه اندازی می‌کنید، حجم به صورت خودکار افزایش می‌یابد. با اجرای دستور زیر بررسی کنید که حجم نصب شده است و داده‌های شما در موقعیت خود قرار دارند.

cat /datavolume2/Example2.txt

خروجی زیر را دریافت خواهید کرد.

Output

Example2

در نهایت، با اجرای دستور exit از حجم خارج شوید و آن را پاک کنید.

داکر به ما اجازه نمی‌دهد حجمی را حذف کنیم، بخصوص اگر یک کانتینر به آن ارجاع داده شود. با اجرای دستور زیر می‌توانید ببینید چه اتفاقی می‌افتد.

docker volume rm DataVolume2

خروجی این دستور نشان می‌دهد که حجم هنوز در حال استفاده است و نسخه طولانی شناسه کانتینر را ارائه می‌دهد.

Docker Containers
Docker Containers

شما می‌توانید از شناسه موجود در پیام خطای بالا برای حذف کانتینر استفاده کنید.

docker rm d0d2233b668eddad4986313c7a4a1bc0d2edaf0c7e1c02a6a6256de27db17a63

خروجی زیر را دریافت خواهید کرد.

output

d0d2233b668eddad4986313c7a4a1bc0d2edaf0c7e1c02a6a6256de27db17a63

حذف کانتینر تاثیری بر حجم آن نخواهد داشت. شما می‌توانید با فهرست کردن حجم‌ها با docker volume ls ببینید که هنوز هم در سیستم وجود دارد.

docker volume ls

خروجی زیر را دریافت خواهید کرد.

Docker Containers
Docker Containers

و برای حذف آن می توانید از دستور docker volume rm استفاده کنید.

docker volume rm DataVolume2

در این آموزش، شما همزمان با ایجاد یک کانتینر، یک حجم داده خالی ایجاد کرده‌اید. در مقاله بعد اشتراک گذاری داده‌ها بین Docker Containers در اوبونتو، بررسی خواهیم کرد که وقتی یک حجم با یک دایرکتوری کانتینری ایجاد می‌کنید که حاوی داده نیز هست، چه اتفاقی می‌افتد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

آخرین مقالات