داکر: روز 6

داکر: ظروف و حجم خدمات
Docker یک چارچوب قوی برای برنامه های کاربردی کانتینری ارائه می دهد و درک سیستم مدیریت حجم آن برای مدیریت موثر ذخیره سازی داده ها کلیدی است. در این مقاله، نحوه مدیریت حجمها و کانتینرهای سرویس توسط داکر را با مثالهای عملی بررسی خواهیم کرد.
حجم های داکر چیست؟
حجم ها در داکر برای تداوم داده های تولید شده و استفاده شده توسط کانتینرهای داکر استفاده می شود. برخلاف bind mountها که به سیستم فایل میزبان متکی هستند، حجمها مستقیماً توسط Docker مدیریت میشوند و انتزاعی تمیز و ادغام بهتر با اکوسیستم کانتینر ارائه میکنند.
ویژگی های کلیدی Docker Volumes:
-
محل ذخیره سازی: حجم ها در بخشی از سیستم فایل میزبان که توسط Docker مدیریت می شود ذخیره می شود (به عنوان مثال،
/var/lib/docker/volumes/
). - توسط Docker مدیریت می شود: کانتینرها حجم ها را ایجاد و مدیریت می کنند و تجربه یکپارچه را ارائه می دهند.
- تاب آوری: حجم ها حتی پس از برداشتن ظروف باقی می مانند و دوام داده ها را تضمین می کند.
- سهولت استفاده: ولوم ها را می توان به راحتی با استفاده از دستورات Docker ایجاد و دستکاری کرد.
کار با حجم ها
ایجاد یک جلد
برای ایجاد یک حجم جدید، از دستور زیر استفاده کنید:
docker volume create <NAME>
به عنوان مثال، برای ایجاد یک حجم به نام mysql-db
:
docker volume create mysql-db
جلدهای فهرست
برای فهرست کردن تمام جلدهای موجود، اجرا کنید:
docker volume ls
این دستور تمام حجم های مدیریت شده توسط Docker را نشان می دهد.
بازرسی یک حجم
برای مشاهده اطلاعات دقیق در مورد یک حجم خاص، از:
docker volume inspect <NAME>
به عنوان مثال:
docker volume inspect mysql-db
حذف یک جلد
برای حذف یک حجم، از:
docker volume rm <NAME>
توجه: در صورت از بین رفتن ظروف مورد استفاده، حجم ها حذف نمی شوند. شما باید به صراحت آنها را حذف کنید.
استفاده از حجم با ظروف
کشیدن تصویر MySQL
ابتدا تصویر MySQL Docker را بکشید:
docker pull mysql
اجرای MySQL با حجم های ناشناس
برای اجرای یک کانتینر MySQL با حجم های ناشناس:
docker container run -d --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=True mysql
اینجا، -e MYSQL_ALLOW_EMPTY_PASSWORD=True
محفظه MySQL را طوری تنظیم می کند که به یک رمز عبور خالی روت اجازه دهد.
اجرای MySQL با حجم های نامگذاری شده
برای اجرای یک کانتینر MySQL با حجم نامگذاری شده، منبع و هدف را مشخص کنید:
docker container run -d --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=True --mount source=mysql-db,target=/var/lib/mysql mysql
به طور متناوب، می توانید از -v
پرچم:
docker container run -d --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=True -v mysql-db:/var/lib/mysql mysql
در این مثال:
-
source=mysql-db
نام حجم را مشخص می کند. -
target=/var/lib/mysql
دایرکتوری داخل محفظه ای که حجم در آن نصب شده است را مشخص می کند.
مدیریت حجم در عمل
- ایجاد حجم:
docker volume create my-data
این دستور یک حجم جدید به نام ایجاد می کند my-data
.
- اجرای یک کانتینر با حجم:
docker container run -d --name my-app -v my-data:/app/data my-image
اینجا، my-data
حجم نصب شده است /app/data
داخل ظرف
- بازرسی حجم:
docker volume inspect my-data
- حذف حجم:
docker volume rm my-data
این دستور باعث حذف my-data
حجم
مزایای استفاده از Docker Volume
- ماندگاری داده ها: حجم ها تضمین می کنند که داده ها دست نخورده باقی می مانند حتی پس از تخریب کانتینر.
- سهولت اشتراک گذاری: چندین کانتینر می توانند حجم یکسانی را به اشتراک بگذارند، که آن را برای گردش کار مشترک ایده آل می کند.
- عملکرد: ولوم ها عملکرد ورودی/خروجی بهتری را در مقایسه با پایه های اتصال ارائه می دهند.
- امنیت: حجم ها توسط Docker مدیریت می شوند و لایه ای از انتزاع را از سیستم فایل میزبان ارائه می دهند.