
🛠 وقتی داکر جا کم میاره، چکار کنیم؟
بهصورت پیشفرض، داکر همهی اطلاعاتش رو توی مسیر /var/lib/docker ذخیره میکنه. اما اگه فضای دیسک کم بیاد یا بخوای مسیر رو جای دیگهای بذاری، باید این تنظیمات رو تغییر بدی. توی این آموزش، قدم به قدم یاد میگیریم که چطور دایرکتوری داکر رو عوض کنیم، بدون اینکه به مشکل بخوریم.
✅ چطوری تنظیمات systemd رو تغییر بدیم که داکر از مسیر جدید استفاده کنه
✅ چطوری فایلهای داکر رو بدون دردسر به جای جدید منتقل کنیم
🔹 سیستمعامل: هر لینوکسی که systemd داشته باشه (مثل اوبونتو، دبیان، سنتاواس و ...)
🔹 نرمافزار: داکر باید نصب باشه
🔹 دسترسی: باید root یا sudo داشته باشی
📢 خیلی مهم: مرحلهها رو به ترتیب انجام بده، وگرنه ممکنه داکر قاطی کنه و دردسر درست بشه!
نباید موقع تغییر مسیر، داکر در حال اجرا باشه، وگرنه مشکل پیش میاد. پس با این دستورها خاموشش کن:
sudo systemctl stop docker.service
sudo systemctl stop docker.socket
بعدش باید بریم سراغ systemd و بهش بگیم که داکر رو از مسیر جدید اجرا کنه. این فایل رو باز کن:
sudo nano /lib/systemd/system/docker.service
یه خطی شبیه این پیدا کن:
ExecStart=/usr/bin/dockerd -H fd://
حالا مسیر جدید رو بهش اضافه کن. مثلا اگه میخوای داکر رو ببری توی /new/path/docker، خط رو اینجوری تغییر بده:
ExecStart=/usr/bin/dockerd -g /new/path/docker -H fd://
بعدش فایل رو ذخیره کن و ببند.
حالا باید مسیر جدید رو بسازیم و اطلاعات داکر رو منتقل کنیم:
sudo mkdir -p /new/path/docker
و حالا با این دستور، تمام فایلهای داکر رو منتقل کن:
sudo rsync -aqxP /var/lib/docker/ /new/path/docker
systemd بشناسون و داکر رو راهاندازی کنبعد از جابهجایی فایلها، باید systemd رو رفرش کنیم و داکر رو دوباره روشن کنیم:
sudo systemctl daemon-reload
sudo systemctl start docker
با این دستور چک کن که همهچیز درست کار میکنه:
ps aux | grep -i docker | grep -v grep
اگه خروجی این دستور مسیر جدید رو نشون داد، یعنی موفق شدی!
تغییر مسیر ذخیرهسازی داکر خیلی سخت نیست، ولی از اون کاراست که اگه ندونی از کجا شروع کنی، ممکنه اذیت بشی. حالا که مسیر جدید رو تنظیم کردی، میتونی اگه خواستی، پوشه قدیمی /var/lib/docker رو حذف کنی. البته اگه یه وقت به مشکل خوردی، همیشه میتونی برگردی به حالت قبل.
💡 حواست باشه: اگه جایی گیر کردی، اول لاگهای داکر رو چک کن و مسیرها رو دوباره بررسی کن.