
Daftar Isi
Anda menjalankan container di Docker, lalu data di dalamnya tiba-tiba hilang setelah container dihapus? Atau mungkin Anda bingung bagaimana dua container bisa saling berkomunikasi dengan aman tanpa konflik jaringan?
Jika iya, Anda tidak sendirian. Banyak pengguna baru Docker menghadapi dua tantangan utama: penyimpanan data (volume) dan jaringan antar-container (network).
Tanpa memahami dua konsep ini, aplikasi Anda bisa saja berjalan — tapi sulit dipelihara, tidak aman, dan rawan kehilangan data.
Dalam artikel ini, Anda akan belajar cara mengelola volume dan network di Docker secara langkah demi langkah, mulai dari konsep dasar hingga praktik terbaik. Setelah membaca sampai akhir, Anda akan paham:
- Apa itu Docker Volume dan Docker Network.
- Bagaimana cara membuat, mengatur, dan menghubungkan keduanya ke container.
- Tips agar container Anda tetap efisien, aman, dan mudah dikelola.
Apa Itu Docker Volume?
Docker Volume adalah cara Docker menyimpan data agar tidak hilang meskipun container dihapus atau diganti. Tanpa volume, data yang tersimpan di dalam container bersifat sementara (ephemeral).
Volume disimpan di luar container, sehingga:
- Data tetap aman walau container dihentikan.
- Dapat digunakan ulang oleh container lain.
- Lebih efisien untuk backup dan migrasi.
1. Membuat Volume Baru
Gunakan perintah berikut untuk membuat volume baru:
docker volume create nama_volumeContoh:
docker volume create data_mysql2. Melihat Daftar Volume
Untuk melihat semua volume yang ada:
docker volume ls3. Menggunakan Volume pada Container
Misalnya, Anda ingin agar container MySQL menggunakan volume data_mysql:
docker run -d \
--name mysql_db \
-v data_mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=admin123 \
mysql:latestVolume data_mysql sekarang menyimpan data database Anda. Jadi, jika container dihapus, datanya tetap aman.
4. Menghapus Volume
Jika tidak digunakan lagi:
docker volume rm nama_volumeAtau hapus semua volume yang tidak terpakai:
docker volume pruneApa Itu Docker Network?
Docker Network adalah sistem yang mengatur cara container berkomunikasi satu sama lain dan dengan dunia luar. Tanpa network, container tidak akan bisa saling terhubung secara otomatis.
Docker menyediakan beberapa jenis jaringan:
| Jenis Network | Deskripsi Singkat |
|---|---|
| bridge | Default, menghubungkan container dalam satu host. |
| host | Container berbagi IP dengan host (lebih cepat tapi kurang isolasi). |
| none | Container tanpa akses jaringan. |
| overlay | Digunakan untuk komunikasi antar-host (di Docker Swarm). |
1. Melihat Jaringan yang Ada
Gunakan:
docker network ls2. Membuat Jaringan Baru
Anda bisa membuat jaringan kustom agar lebih terorganisir:
docker network create nama_networkContoh:
docker network create app_network3. Menjalankan Container di Network Tertentu
Ketika menjalankan container, Anda bisa menautkannya ke jaringan tertentu:
docker run -d --name web_app --network app_network nginx
docker run -d --name db_app --network app_network mysqlSekarang kedua container (web_app dan db_app) bisa saling berkomunikasi menggunakan nama container sebagai hostname.
Misalnya, web_app bisa mengakses MySQL dengan hostname db_app.
4. Menghubungkan Container ke Network yang Sudah Ada
Anda juga bisa menambahkan container yang sudah berjalan ke jaringan lain:
docker network connect app_network web_app5. Menghapus Network
Jika tidak digunakan lagi:
docker network rm nama_networkAtau bersihkan semua jaringan yang tidak terpakai:
docker network pruneAnda sudah tahu cara mengelola volume dan network di Docker — dua fondasi utama agar container tetap efisien, aman, dan mudah dikelola. Dengan memahami keduanya, Anda tidak hanya menjaga data tetap aman, tapi juga membuat container-container Anda saling terhubung secara rapi dan profesional.
Ingin melangkah lebih jauh?
Baca juga: [Membuat Docker Compose untuk Aplikasi Multi-Container]
