نحوه افزودن یک Volume به کانتینر موجود در داکر
استفاده از دستور commit:
شما میتوانید کانتینر فعلی را با استفاده از دستور commit
ذخیره کرده و یک تصویر جدید بسازید. سپس میتوانید این تصویر جدید را با volume مورد نظر راهاندازی کنید. به عنوان مثال:
docker ps -a
docker commit <container-ID> newimagename
docker run -ti -v "$PWD/somedir":/somedir newimagename /bin/bash
ویرایش فایل پیکربندی کانتینر:
اگر میخواهید که بدون اجرای مجدد تمام مراحل کانتینر، volume جدیدی را اضافه کنید، میتوانید فایل پیکربندی کانتینر را ویرایش کنید. این فایل معمولاً در مسیر /var/lib/docker/containers/<container-ID>/config.v2.json
قرار دارد. ابتدا مطمئن شوید که سرویس Docker متوقف شده است:
systemctl stop docker.service
سپس فایل را ویرایش کرده و entries مربوط به mount points را اضافه کنید. بعد از این مرحله، سرویس Docker را دوباره آغاز کنید:
systemctl start docker.service
docker start <container-name/ID>
نکات مهم
- قبل از ویرایش فایل پیکربندی، مطمئن شوید که کانتینر متوقف باشد تا از بروز مشکلات جلوگیری کنید.
- استفاده از دستورات
docker cp
برای کپی کردن فایل یا پوشهها بین کانتینر و سیستم محلی نیز یک گزینه دیگر است، اگرچه این روش به شما اجازه نمیدهد که به طور مستقیم volume اضافه کنید.
نتیجهگیری
متاسفانه، Docker به گونهای طراحی شده است که افزودن volume در حین اجرای یک کانتینر امکانپذیر نیست، اما شما میتوانید با استفاده از روشهای ذکر شده، به اهداف خود دست پیدا کنید. این مراحل به شما اجازه میدهد تا بدون از دست دادن تنظیمات قبلی، volume جدیدی را به کانتینر خود اضافه کنید.