داکر کانتینر

داکر کانتینر چیست؟ آموزش اشتراک گذاری داده در آن


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

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

نحوه ایجاد حجم از دایرکتوری موجود با داده‌ها در داکر کانتینر

ایجاد یک حجم به طور مستقل با ایجاد حجم داکر و ایجاد یک حجم در حین ایجاد یک کانتینر، با یک استثنا، معادل هستند. اگر همزمان با ایجاد یک کانتینر حجمی ایجاد کنید و مسیر دایرکتوری حاوی داده‌ های تصویر پایه را ارائه دهید، آن داده در حجم کپی می‌ شود. به عنوان مثال، شما می‌ توانید یک کانتینر ایجاد کنید و حجم داده را در var/، یک دایرکتوری که حاوی داده‌ ها در تصویر اصلی است، اضافه کنید.

docker run -ti –rm -v DataVolume3:/var ubuntu

تمام محتوای دایرکتوری var/ تصویر پایه در این حجم کپی می‌‌شود و می‌توانید آن حجم را در یک کانتینر جدید قرار دهید. برای خروج از کانتینر فعلی دستور exit اجرا کنید.

این بار، به جای متکی شدن بر دستور bash پیش‌فرض تصویر پایه، دستور ls را اجرا کنید تا محتویات حجم را بدون وارد شدن به پوسته نشان دهد.

docker run –rm -v DataVolume3:/datavolume3 ubuntu ls datavolume3

دایرکتوری datavolume3 اکنون یک کپی از محتویات دایرکتوری var/ تصویر پایه دارد.

داکر کانتینر
داکر کانتینر

در ادامه، نشان خواهیم داد که چگونه می‌توان یک حجم را بین چندین کانتینر به اشتراک گذاشت.

به اشتراک گذاری داده‌ها بین چندین داکر کانتینر

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

نحوه ایجاد Container4 و DataVolume4

از docker run برای ایجاد یک کانتینر جدید به نام Container4 با حجم داده ضمیمه شده استفاده کنید.

docker run -ti –name=Container4 -v DataVolume4:/datavolume4 ubuntu

سپس، یک فایل ایجاد و متنی اضافه کنید.

echo “This file is shared between containers” > /datavolume4/Example4.txt

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

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

نحوه ایجاد Container5 و Mount Volumes از Container4

در ادامه با ایجاد Container5 حجم‌ها را از Container4 نصب کنید.

docker run -ti –name=Container5 –volumes-from Container4 ubuntu

با اجرای دستور زیر پایداری داده‌ها را بررسی کنید.

cat /datavolume4/Example4.txt

Output

This file is shared between containers

اکنون با اجرای دستور زیر، متنی از Container5 اضافه کنید.

echo “Both containers can write to DataVolume4” >> /datavolume4/Example4.txt

در نهایت، از کانتینر خارج خواهید شد.

مشاهده تغییرات ایجاد شده در Container5

در ادامه مطلب اشتراک گذاری داده‌ ها بین داکر کانتینر در اوبونتو، اکنون تغییراتی که توسط Container5 در حجم داده نوشته شده است را با راه اندازی مجدد Container4 بررسی کنید.

docker start -ai Container4

با اجرای دستور، زیر تغییرات را بررسی کنید.

cat /datavolume4/Example4.txt

Output

This file is shared between containers

Both containers can write to DataVolume4

اکنون که تأیید کردید هر دو کانتینر قادر به خواندن و نوشتن از حجم داده هستند، از کانتینر خارج خواهید شد.

Docker هیچ گونه قفل فایل را مدیریت نمی‌ کند، بنابراین لازم است برنامه‌ها این موضوع را در نظر بگیرند. می‌ توان حجم داکر را به‌عنوان فقط خواندنی نصب کرد تا اطمینان حاصل شود که خرابی داده‌ها به طور تصادفی اتفاق نمی‌ افتد، زمانی که یک کانتینر به دسترسی فقط خواندنی نیاز دارد می‌توانید با افزودن .ro: آن را مشاهده کنید.

 

ارسال دیدگاه جدید