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:
-
Gunakan
docker volume inspect namavolume
untuk menggunakan lokasi dari docker volume -
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
- 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 :
-
Daftar dulu di ngrok.com agar bisa mendapatkan Authtoken service ngrok
-
Copy Authtoken nya, export biar bisa di panggil saat menjalankan docker run, dengan cara
export NGROK_AUTHTOKEN=tokenAuthtoken

Volume yang Ingin Dipindahkan
- 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 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

Memastikan Data Berhasil di Salin
Catatan:
-
Cek kembali volume menggunakan
docker volume ls
-
Kalau dulu kita tidak menggunakan
name: namaservice
didocker-compose.yml
biasanya volume akan menggunakan nama direktori, tinggal sesuaikan saja nama volume-nya