DEV Community

Fega Suseno
Fega Suseno

Posted on

Migrate Root Dir Docker

Pada postingan ini kita akan membahas bagaimana cara migrate Document Root docker berdasarkan studi kasus.

Study Case

Server production dengan kapasitas storage 500GB, menjalankan sekitar 6 container. Awalnya tidak ada masalah dengan storage ini, sampai akhirnya storage penuh! Pada tahap ini dilakukan pembelian storage server SAS ukuran 2TB x 2Dsisk. Pada sisi iDrac kedua disk ini di buatkan virtualdisk baru dengan konfigurasi Raid 1. Setelahnya dilakukan formating dan mounting di path /mnt/local dari sisi host operating systemnya. Kendalanya adalah kita harus memindahkan Document Root docker yang mana ini isinya adalah semua config dan storage di selain bind-mount. Tentu ini sangat crusial jika ada salah konfig atau bahkan hilang data.

Tutorial Migrate

Dari study case di atas maka pada tutorial ini akan mencoba membahas langkah teknisya, berikut step yang perlu di kerjakan:
Pertama stop service docker dan socket dengan syntak berikut

sudo systemctl restart docker.service docker.socket
Enter fullscreen mode Exit fullscreen mode

lalu syncronize antara folder default document root docker /var/lib/docker dan path baru document root docker /mnt/local. Dengan menggunakan tools rsync, ini memindahkan semua copy file beserta permission dan symlink

sudo rsync -aP /var/lib/docker /mnt/local
Enter fullscreen mode Exit fullscreen mode

setelah itu buat configurasi pathnya, biasanya defaultnya tidak ada folder docker di etc, tambhakan manual dengan jalankan perintah ini

mkdir -p /etc/docker
Enter fullscreen mode Exit fullscreen mode

buat file confignya

sudo nano /etc/docker/daemon.json
Enter fullscreen mode Exit fullscreen mode

isi kan dengan script berikut ini

{
  "data-root": "/mnt/local/docker"
}
Enter fullscreen mode Exit fullscreen mode

setelah selesai nyalakan kembali docker daemon dan servicenya

sudo systemctl daemon-reload
sudo systemctl start docker
Enter fullscreen mode Exit fullscreen mode

lalu untuk cek apakah Doc Root sudah pindah

docker info | grep "Docker Root Dir"
Enter fullscreen mode Exit fullscreen mode

pastikan pathnya pindah dan silakan start containernya lalu cek servicenya, seharusnya bisa running seperti biasa

Top comments (0)