Docker storage directory από το root στο /home

Η μετακίνηση του Docker storage directory από τον προεπιλεγμένο κατάλογο /var/lib/docker σε έναν νέο κατάλογο στο /home μπορεί να αποτελέσει μια σημαντική απόφαση για πολλούς χρήστες, ιδιαίτερα όταν το root partition έχει περιορισμένο χώρο ή όταν θέλουμε να διαχειριζόμαστε πιο αποτελεσματικά τα δεδομένα και τις εικόνες των containers. Αυτή η αλλαγή βοηθάει στην αποφυγή γεμάτου root partition, διευκολύνει τη δημιουργία backups και επιτρέπει την οργάνωση των Docker δεδομένων σε έναν ξεχωριστό δίσκο ή partition με μεγαλύτερη χωρητικότητα. Επιπλέον, προσφέρει μεγαλύτερη ευελιξία στη διαχείριση του χώρου και την αποφυγή προβλημάτων απόδοσης λόγω έλλειψης χώρου. Σε αυτό το άρθρο, θα εξετάσουμε βήμα προς βήμα πώς να πραγματοποιήσετε αυτήν τη μετακίνηση και τους λόγους για τους οποίους μπορεί να είναι απαραίτητη.

Για να αποθηκεύεις τα Docker containers στο home directory σου αντί για το root partition, πρέπει να αλλάξεις το Docker storage directory. Μπορείς να το κάνεις ως εξής:

  1. Δες την τρέχουσα τοποθεσία αποθήκευσης:
docker info | grep "Docker Root Dir"

Συνήθως είναι στο /var/lib/docker, που βρίσκεται στο root partition.

  1. Μετακίνησε το Docker storage στο home directory σου. Αν π.χ. θέλεις να το βάλεις στο ~/docker-data, εκτέλεσε:
sudo systemctl stop docker  
sudo mkdir -p ~/docker-data  
sudo mv /var/lib/docker ~/docker-data/
  1. Αλλαγή διαμόρφωσης του Docker:

Άνοιξε ή δημιούργησε το αρχείο /etc/docker/daemon.json. Το αρχείο daemon.json μπορεί να μην υπάρχει από προεπιλογή, αλλά μπορείς να το δημιουργήσεις εσύ. Στις περισσότερες διανομές, το σωστό path είναι:

/etc/docker/daemon.json

Αν δεν υπάρχει, μπορείς να το δημιουργήσεις με:

sudo touch /etc/docker/daemon.json

Έπειτα, άνοιξέ το με έναν επεξεργαστή κειμένου, π.χ.:

sudo nano /etc/docker/daemon.json

και πρόσθεσε:

{
  "data-root": "/home/your-username/docker-data"
}

(Αντικατέστησε το your-username με το πραγματικό username σου.)

Αν πάλι δεν υπάρχει ο κατάλογος /etc/docker/, μπορείς να το δημιουργήσεις με:

sudo mkdir -p /etc/docker

και μετά να δημιουργήσεις το daemon.json, όπως παραπάνω.

  1. Επανεκκίνηση του Docker:
sudo systemctl daemon-reload  
sudo systemctl start docker
  1. Επιβεβαίωση ότι η αλλαγή εφαρμόστηκε:
docker info | grep "Docker Root Dir"

Αν όλα είναι σωστά, το νέο path θα εμφανίζεται στο output.

Τώρα τα containers και images θα αποθηκεύονται στο home directory σου! 🚀

Αρχική δημοσίευση:
https://eiosifidis.blogspot.com/2025/02/docker-storage-directory-root-home.html