همایون
همایون
خواندن ۲ دقیقه·۷ سال پیش

داکر volume

یه خصوصیتی که توی داکر وجود داره اینه که اگر شما توی یک container یک فایل کپی کنید یا ایجاد کنید

به محض اینکه اون کانتینر stop بشه تمام فایل هایی که ایجاد کردیم حذف می‌شه.

راه حل هم استفاده از dokcer volume هست. به این شکل که بخشی از حافظه اصلی رو به کانتینر mount می‌کنه.

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

docker volume ls
docker volume create
docker volume inspect
docker volume rm

با کامند docker volume create شروع می‌کنیم:( data اسم دلخواه برای volume جدیدیه که میسازیم)

docker volume create --name data

حالا اگر docker volume ls بگیریم این volume رو نشون می‌ده(یکسری دیگه هم نشون می‌ده که ما باهاشون کاری نداریم)

اگر بخوایم مشخصات کامل یک volume رو ببینیم از این دستور استفاده می‌کنیم(data اسم اون volume مورد نظرمونه)

docker volume inspect data

خروجی هم ۳ تا قسمت مهم داره یکی driver هست که اینجا لوکاله یعنی اگه یه سیستم تحت شبکه هم باشه میتونه اونو mount کنه - mount point و options هم که مشخصه

مفهمومی که باید بهش توجه کنیم که ممکنه گمراه کننده باشه اینه که برای راه اندازی volume ما دوتا دایرکتوری باید معرفی کنیم.

یکیش دایرکتوری ایه که رو سیستم اصلیمون هست و میخوایم فایل ها روش ذخیره بشن که کاملا دلخواهه مسیرشم بالا توی خروجی دستور docker volume inspect data دیدیم.

دومی مسیریه که میخوایم توی کانتینر mount بشه یعنی بهش بگیم از این به بعد هر چی توی این فولدر ریختیم در اصل توی سیستم اصلی ذخیره بشه که میتونه دلخواه باشه میتونه نباشه مثلا فرض کنید میخواید فایل های یه دیتا بیس رو ذخیره کنید خب قاعدتا مسیری که دیتا بیس فایلاشو اونجا قرار می‌ده رو معرفی می‌کنیم.(اگر موضوع براتون نامفهومه احتمالا با مفهوم mount کاملا آشنا نیستید و یسری به داکیومنت هاش بزنید)

این دستور یک volume رو توی کانتینر mount میکنه:

docker run --name hala_harchi -d -v data:/var/data ubuntu

همون دستور docker run که قبلا دیدیمش فقط اپشن -v بهش اضافه شده که میگه دایرکتوری var/data/ رو به volume ماونت کنه.

مطلب بعدی : docker network

مجموعه این تحقیقات و ازمایش هایی که در ادامه مستند می‌کنم در شرکت پردازش هوشمند ترگمان مجری سامانه های ترجمه ماشینی ترگمان و ترجمیار انجام شده است.





داکرلینوکس
اعراب چون «گ» نداشتند واژه‌های «ترگمه» و «ترگُمان» را به «ترجمه» و «ترجمان» بدل ساختند. به عنوان یک سرویس برخط ترجمه ماشینی نام فارسی را بر نام عربی ترجیح دادیم تا نیازی به ترجمه مجدد وجود نداشته باشد. http://targoman.ir
شاید از این پست‌ها خوشتان بیاید