Alernatif Cara Memindahkan Volume

Ada 2 cara yang saya gunakan untuk copy data volume di docker, menggunakan rsync dan menggunakan dvsync .


The Easy Way

Cara pertama, menggunakan rsync:

  1. Gunakan docker volume inspect namavolume untuk menggunakan lokasi dari docker volume

  2. Copy data dengan rsync

rsync -avrz /var/lib/docker/volume/biasanya_nama_volume_nya_gini namauser@ipserver:/var/lib/docker/volume/biasanya_nama_volume_nya_gini
  1. Kalau anda mengizinkan user selain root menjalankan docker, ganti permission di folder _data di volume yang baru di copy
sudo chmod 777 /var/lib/docker/volume/biasanya_nama_volume_nya_gini/_data/

The Riweuh Way (But Mostly Working)

Cara kedua, menggunakan image dvsync :

  1. Daftar dulu di ngrok.com agar bisa mendapatkan Authtoken service ngrok

  2. Copy Authtoken nya, export biar bisa di panggil saat menjalankan docker run, dengan cara

export NGROK_AUTHTOKEN=tokenAuthtoken
Volume yang Ingin Dipindahkan

Volume yang Ingin Dipindahkan

  1. Di sini saya mau memindahkan data grafana di docker volume server lama ke server baru. Jalankan
docker run --rm -e NGROK_AUTHTOKEN="$NGROK_AUTHTOKEN" --mount source=dockprom_grafana_data,target=/data,readonly ghcr.io/suda/dvsync-client:0.3.0
Copy Tokennya

Copy Tokennya

  1. Copy DVSYNC_TOKEN di client/server baru, lalu jalankan
docker run --rm -e DVSYNC_TOKEN="$DVSYNC_TOKEN"   --mount source=dockprom_grafana_data,target=/data quay.io/suda/dvsync-client
Proses Copy Data

Proses Copy Data

Memastikan Data Berhasil di Salin

Memastikan Data Berhasil di Salin

Catatan:

  1. Cek kembali volume menggunakan docker volume ls

  2. Kalau dulu kita tidak menggunakan name: namaservice di docker-compose.yml biasanya volume akan menggunakan nama direktori, tinggal sesuaikan saja nama volume-nya