Apa yang bisa kami bantu?

A. Pendahuluan

Memindahkan container Docker ke server lain berarti memindahkan aplikasi, konfigurasi, dan datanya secara utuh tanpa mengorbankan fungsionalitas layanan. Kebutuhan ini muncul dalam berbagai skenario: upgrade infrastruktur, perpindahan hosting, peningkatan performa, pembuatan backup, hingga pemulihan darurat saat server mengalami kegagalan.

Terdapat tiga metode migrasi yang umum digunakan, masing-masing dengan keunggulan berbeda

  • Export / Import Image — Ideal untuk pemindahan cepat tanpa data persisten.
  • Backup & Restore Volume — Tepat untuk container yang menyimpan data penting.
  • Push & Pull via Registry — Direkomendasikan untuk deployment berulang atau environment production.

Panduan ini menggunakan metode Backup Volume + Menjalankan Ulang Container di server tujuan.

Prasyarat: Pastikan Docker dan seluruh service pendukung sudah terpasang di server tujuan sebelum memulai proses migrasi. Persiapan ini mencegah error akibat dependensi yang hilang dan meminimalkan downtime karena container dapat langsung dijalankan begitu data tiba.

 

B. Langkah-langkah

A. Server Pertama

Server A saat ini menjalankan container Uptime Kuma yang aktif. Container ini beserta seluruh data di dalam volumenya akan dipindahkan ke server tujuan agar layanan tetap dapat beroperasi seperti semula setelah migrasi selesai.

Gambar 1.1 Daftar Kontainer.

Langkah 1 — Periksa mountpoint volume container. Data yang akan dipindahkan tersimpan di dalam volume Docker. Temukan lokasi direktori volume tersebut di sistem file server menggunakan perintah berikut.

Gambar 1.2 Cek Mountpoint Volume.
sudo docker volume inspect $nama container$

Langkah 2 — Hentikan container Uptime Kuma. Hentikan container sebelum melakukan backup untuk memastikan tidak ada proses penulisan data yang sedang berjalan. Langkah ini menjaga integritas data dan mencegah hasil backup yang rusak atau tidak konsisten.

sudo docker stop $nama container$
Gambar 1.3 Menghentikan Docker.

Langkah 3 — Buat file backup volume. Jalankan perintah berikut untuk mengarsipkan data volume ke dalam satu file backup.

tar -czvf $nama container$.tar.gz -C /$mountpoint volume container$/ 
Gambar 1.4 Backup Container.

Langkah 4 — Verifikasi file backup. Pastikan file backup berhasil dibuat sebelum melanjutkan ke proses transfer.

Gambar 1.5 Cek Hasil Backup.

Langkah 5 — Transfer file backup ke server tujuan. Salin file backup menggunakan perintah scp berikut. Jika server tujuan menggunakan firewall, pastikan IP server pengirim sudah di-whitelist pada port SSH agar transfer tidak terblokir.

scp $nama container$.tar.gz username@$Ip-server-B:/path/direktori/file
Gambar 1.6 Copy File Backup.

Perintah scp digunakan pada panduan ini, namun rsync tersedia sebagai alternatif yang lebih andal — terutama untuk file berukuran besar atau ketika koneksi tidak stabil, karena rsync mendukung resume transfer yang terputus.

Gambar 1.7 Proses Copy File.

Setelah file backup berhasil dipindahkan, lanjutkan konfigurasi di server tujuan untuk menjalankan kembali container.

B. Server Tujuan

Langkah 6 — Verifikasi file backup di server tujuan. Konfirmasi bahwa file backup telah tiba dengan benar sebelum melanjutkan proses restore.
 

Gambar 2.1 Cek Hasil Migrasi.

Langkah 7 — Buat volume Docker baru. Buat volume dengan nama dan konfigurasi yang identik dengan server asal agar container dapat mengenali dan menggunakan data yang dipulihkan.

sudo docker volume create $nama_volume$
Gambar 2.2 Membuat Volume Kontainer.

Langkah 8 — Ekstrak file backup ke direktori volume. Jalankan perintah berikut untuk memulihkan data ke dalam direktori volume Docker yang baru dibuat.

sudo tar -xzvf $nama backup$.tar.gz -C $/path/direktori/file$ 
Gambar 2.3 Ekstrak File Backup.

Langkah 9 — Jalankan container Docker. Setelah ekstraksi selesai, jalankan container agar layanan aktif di server tujuan.

sudo docker run -d --restart=always -p 3001:3001 -v $nama container$:/app/data --name uptime-kuma louislam/uptime-kuma:1

Sebagai alternatif, masuk ke direktori mountpoint volume terlebih dahulu, lalu jalankan container secara manual menggunakan perintah berikut.

sudo docker run -d
Gambar 2.4 Jalankan Docker.

Langkah 10 — Verifikasi status container. Pastikan container berjalan dengan status yang benar sebelum melakukan pengujian akses.

Gambar 2.5 Cek Status Docker.

Akses kembali aplikasi melalui browser atau endpoint layanan sesuai port yang telah dikonfigurasi untuk memastikan layanan sudah aktif dan berjalan normal.

C. Kesimpulan

Dengan mengikuti panduan ini, container Docker dapat dipindahkan ke server baru secara lengkap beserta seluruh datanya tanpa perlu instalasi ulang aplikasi dari awal. Hasilnya adalah proses migrasi yang lebih efisien, terkontrol, dan minim downtime. Selalu lakukan verifikasi akses layanan setelah container dijalankan untuk memastikan semua berfungsi normal di server tujuan.

Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui  Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi support@biznetgio.com.