داکر کانتینر: آموزش اشتراک گذاری داده ها در اوبونتو امروز در وب سایت ایران هاستینگ 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: آن را مشاهده کنید.