Bila partisi utama anda kepenuhan, dan docker banyak komplain karena kekurangan space, selain menggunakan hardisk yang lebih besar bisa juga diakali dengan memindahkan data ke partisi yang berbeda, contoh kondisi hardisk saya saat ini

$ sudo df -h
# output
Filesystem      Size  Used Avail Use% Mounted on
udev            6.8G     0  6.8G   0% /dev
tmpfs           1.4G  2.8M  1.4G   1% /run
/dev/nvme0n1p2   28G   25G  1.9G  94% /
tmpfs           6.8G     0  6.8G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
/dev/nvme0n1p4  200G  7.5G  182G   4% /home
/dev/nvme0n1p1  511M  3.5M  508M   1% /boot/efi
tmpfs           1.4G   44K  1.4G   1% /run/user/114

docker by design, menyimpan data, baik berupa image atau volume di dalam folder /var/lib/docker, untuk mengetahui ukuran folder gunakan perintah

sudo du -sh /var/lib/docker
# output
14G	/var/lib/docker

lokasi ini bisa diverifikasi dengan perintah

docker info -f '{{ .DockerRootDir }}'
# output
/var/lib/docker

pada tampilan hardisk diatas partisi /, tinggal tersisa 1.9 GB, sementara /home sangat banyak tersisa, berdasarkan informasi tersebut akan saya pindahkan folder data docker dari /var/lib/docker ke /home/tommy/docker

Dengan cara yang akan dijelaskan dibawah, sangat memungkinkan untuk menggunakan cloud storage seperti S3, tetapi sangat tidak disarankan karena akan memperlambat proses Docker, dan juga akan terasa semakin lambat, karena setiap perubahan perlu menulis dan membaca dari remote storage tersebut.

Berikut ini 4 langkah untuk memindahkan lokasi data root docker ke tempat/partisi yang baru :

1. Berhentikan service docker

sudo systemctl stop docker

2. Copy data ke folder baru

sudo mv /var/lib/docker/* /home/tommy/docker/

3. Update config docker, untuk lokasi yang baru
Bila belum ada buat file /etc/docker/daemon.json, yang isinya

{
  "data-root": "/lokasi/folder/yang/baru"
}

pada contoh saya menjadi

{
  "data-root": "/home/tommy/docker"
}

4. Jalankan service docker

sudo systemctl start docker

verifikasi lokasi root datanya sudah berubah

$ docker info -f '{{ .DockerRootDir }}'
# output
/home/tommy/docker

Leave a comment

Your email address will not be published. Required fields are marked *