Wednesday, April 14, 2021

Memindahkan Docker ke Partisi Yang Tidak di-support (seperti NTFS)

 

Kasus:

Anda salah merancang partisi laptop Gnu/Linux anda. Satu-satunya partisi yang memiliki banyak sisa ruang adalah partisi dengan format yang tidak didukung oleh docker. Anda sudah mencoba berbagai cara seperti symbolic link dan cara lain dan tetap gagal. 

Saya mencoba di Ubuntu.


Ringkasan:

  1. Buat file image yang berisi file-system yang didukung;
  2. Mount file image tersebut;
  3. Matikan service docker;
  4. Salin semua file docker termasuk attribute dan hardlink;
  5. Buat konfigurasi untuk ke tempat baru
  6. Nyalakan kembali


Buat File Image yang berisi file system yang didukung

Gunakan tools dd dan mkfs. 

Misalnya kita mau memindahkan docker sekaligus memberi ruang 15 GB dan menggunakan Filesystem EXT3. Artinya anda harus mengalokasikan 15*1024*124 = 15728640 Bytes.

Pertama kita buat file seukuran 15GB itu:

dd if=/dev/zero of=image_docker.fs bs=1024 count=15728640 status=progress

Setelahnya, kita buat filesystem EXT3 di file image itu.

mkfs.ext3 image_docker.fs


Mount file image tersebut

Buat direktory baru

mkdir newdocker

Kemudian mount file image ke direktori tersebut.

mount image_docker.fs newdocker


Matikan Service Docker

Tinggal panggil

sudo service docker stop


Salin Semua File Docker termasuk Attribute dan Hardlink

Gunakan rsync tetapi jangan lupakah H untuk hardlink.

rsync -avPHSX /var/lib/docker ./


Jika sudah, jangan lupa ganti nama /var/lib/docker menjadi nama lain seperti /var/lib/dockerlama untuk memastikan langkahnya berhasil.


Buat Konfigurasi untuk Mengarahkan Ke Tempat Baru

Docker terbaru bisa mencari konfigurasi data-root.

Jadi edit (atau buat file baru) /etc/docker/daemon.json dan isi dengan berikut

  {
    "data-root": "/path/to/newdocker"
  }
  



Nyalakan Kembali

Tinggal panggil 

sudo service docker start


0 comments: