Tutorial Docker - Volume

  Pada materi kali ini, kita akan melanjutkan seri dari Tutorial Docker. Setelah sebelumnya kita membahas tentang Implementasi Image dan Container kita akan masuk ke materi selanjutnya yaitu Docker Volume.


Apa Itu Volume?
    Volume adalah mekanisme untuk menyimpan data di Docker atau kita bisa menyebut volume sebagai storage untuk penyimpanan data. Biasanya volume digunakan untuk menyimpan data yang perlu di pertahankan seperti file konfigurasi, data aplikasi dan file database.

    Ketika kita menyimpan data pada volume, data tersebut akan tetap ada meskipun container dihapus. Maksudnya seperti apa? sebelumnya kita telah membuat container DBMS MySql, jika temen-temen membuat 10 database dan container MySql dihapus maka database juga akan terhapus.

    Berbeda halnya jika temen-temen menggunakan volume, meskipun container dihapus 10 database yang sudah dibuat akan tetap aman dan ketika container di buat ulang maka database akan otomatis tampil kembali di container MySql.

Perintah Untuk Manajemen Volume
  1. Membuat Volume
    Untuk membuat Volume temen-temen bisa mengetikan perintah CLI berikut :

    docker volume create [nama_volume]


  2.  Menampilkan Daftar Volume

    docker volume ls


    Terdapat banyak volume dengan nama random hasil generate karena tidak menyertakan nama volume ketika pembuatan container.

  3.  Melihat Detail Volume

    docker volume inspect [nama_volume]


  4. Menghapus Volume

    docker volume rm [nama_volume]



  5. Membersihkan Volume Yang Tidak Dipakai

    docker volume prune

Implementasi Volume
    Supaya lebih ada gambaran kita akan melakukan implementasi docker volume ke container "mysql-container" yang sebelumnya pernah kita buat.


Sebelumnya saya telah membuat database dengan nama db_posts, apa yang terjadi ketika saya menghapus  dan membuat ulang container "mysql-container"?

Container berhasil dihapus.



    Temen-temen bisa melihat pada dua gambar diatas, ketika saya menghapus container "mysql-container", database "db_posts" juga ikut terhapus. Tentunya ini hal yang tidak kita inginkan, karena database yang kita butuhkan bisa saja terhapus karena container mengalami error/crash. 

    Nah untuk mengatasi hal ini kita bisa menggunakan Docker Volume, karena docker belum bisa mengganti volume ketika container sudah dibuat maka kita perlu menghapus containernya terlebih dahulu.


Setelah container dihapus kita bisa membuat ulang container dengan menautkan volume ke containernya, temen-temen bisa mengetikkan perintah CLI berikut :

docker run --name mysql-container -v dbms_mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=dev -p 8082:3306 -d mysql:latest

Catatan :
-v : Digunakan untuk membuat volume.
dbms_mysql : Nama volume yang akan dibuat dan digunakan.
/var/lib/mysql : Lokasi default yang digunakan oleh DBMS MySql untuk menyimpan file database,  termasuk tabel, index dan meta data.


Untuk melihat apakah container berhasil ditautkan dengan volume temen-temen bisa mengetikkan perintah berikut :

docker inspect <nama_container>


    Tahap terakhir kita akan coba membuat beberapa database, menghapus container, dan membuat ulang container untuk melihat perbedaan menggunakan docker volume.

  1. Membuat Beberapa Database


  2. Menghapus Container


  3. Membuat Ulang Container


  4. Cek Database


    Database masih ada meskipun container pernah kita hapus sebelumnya.

    Mungkin itu saja yang bisa kita pelajari dari materi kali ini. Semoga materinya dapat membantu teman-teman memahami tentang Implementasi Docker Image dan Container. Jika teman-teman memiliki pertanyaan atau ingin berbagi pengalaman, silakan ketikkan pada kolom komentar di bawah.

Sedikit Tentang Saya :

    Sebagai seorang programmer profesional dengan pengalaman sekitar 4 tahun di bidang IT, saya siap membantu Anda dengan berbagai kebutuhan konsultasi.

Jangan ragu untuk menghubungi saya melalui WhatsApp.

Sampai jumpa di tutorial berikutnya!

Kontak Saya :
Email : ronisurya.115@gmail.com
WhatsApp : 081222821596
Website : Roni Surya

Tutorial Selanjutnya : Tutorial Docker - Network

Tutorial Sebelumnya :

  1. Tutorial Docker - Implementasi Image dan Container
  2. Tutorial Docker - Image dan Container
  3. Tutorial Docker - Mengenal Docker dan Konsep Kontainer
Lebih baru Lebih lama