Traffine I/O

Bahasa Indonesia

2022-06-09

Pemasangan Volume Docker

Apa itu Pemasangan Volume dalam Docker

Pemasangan volume dalam Docker merujuk pada proses menambahkan unit penyimpanan, yang disebut volume, ke dalam kontainer yang sedang berjalan. Ini memungkinkan kontainer untuk membaca dan menulis data ke dalam volume, sehingga memungkinkan ketahanan data melalui restart kontainer dan berbagi data antara beberapa kontainer. Pemasangan volume adalah fitur penting untuk mengelola aplikasi yang memerlukan keadaan yang teratur, memastikan konsistensi data, dan meningkatkan kinerja aplikasi yang terkontainerisasi.

Jenis Penyimpanan dalam Docker

Docker menyediakan tiga opsi penyimpanan utama untuk mengelola ketahanan data pada kontainer: pemasangan bind, volume, dan pemasangan tmpfs. Setiap jenis penyimpanan memiliki kasus penggunaan dan karakteristik yang unik, sehingga penting untuk memahami perbedaannya dan memilih solusi yang paling sesuai untuk aplikasi Anda.

Pemasangan Bind

Pemasangan bind adalah metode untuk memetakan direktori atau file tertentu dari sistem host ke dalam kontainer. Ini memungkinkan kontainer untuk mengakses dan memodifikasi data yang disimpan dalam pemasangan bind, sehingga efektif berbagi data antara host dan kontainer. Pemasangan bind tidak dikelola oleh Docker dan mengandalkan struktur sistem file host.

Keuntungan dari pemasangan bind:

  • Mudah untuk dibuat dan digunakan
  • Akses langsung ke sistem file host

Kerugian dari pemasangan bind:

  • Terikat erat dengan sistem file host
  • Kurang portabel antara sistem host yang berbeda

Volume

Volume adalah metode yang disarankan dan direkomendasikan untuk penyimpanan data dalam Docker. Volume dikelola oleh Docker dan diabstraksikan dari sistem file host, menyediakan solusi yang lebih portabel dan dapat diandalkan untuk mengelola data pada aplikasi Anda. Volume dapat dibuat, dilampirkan ke dalam kontainer, dan berbagi antara kontainer, memudahkan pengelolaan data yang konsisten.

Keuntungan dari volume:

  • Dikelola oleh Docker, memberikan abstraksi yang lebih baik
  • Portabel di antara sistem host yang berbeda
  • Kinerja dan keandalan yang lebih baik

Kerugian dari volume:

  • Sedikit lebih kompleks untuk membuat dan mengelola dibandingkan dengan pemasangan bind

Pemasangan tmpfs

Pemasangan tmpfs digunakan untuk menyimpan data sementara pada memori (RAM) sistem host, bukan pada disk. Ini dapat menghasilkan peningkatan kinerja yang signifikan untuk aplikasi yang memerlukan operasi baca dan tulis yang sering. Namun, data yang disimpan dalam pemasangan tmpfs tidak bertahan melalui restart kontainer, sehingga tidak cocok untuk penyimpanan data jangka panjang.

Keuntungan dari pemasangan tmpfs:

  • Kinerja yang lebih baik karena penyimpanan pada memori
  • Cocok untuk data sementara atau cepat berubah

Kerugian dari pemasangan tmpfs:

  • Data tidak bertahan melalui restart kontainer
  • Mengonsumsi memori sistem host

Memahami Volume Docker

Volume Docker adalah solusi penyimpanan yang fleksibel dan powerful untuk mengelola ketahanan data pada kontainer. Dalam bab ini, saya akan membahas dasar-dasar pembuatan, pemeriksaan, daftar, dan penghapusan volume. Kita juga akan membahas bagaimana mengelola data dalam volume dan membaginya antara kontainer.

Membuat Volume

Untuk membuat volume Docker baru, gunakan perintah docker volume create diikuti oleh nama volume yang diinginkan:

bash
$ docker volume create my_volume

Perintah ini membuat volume baru bernama my_volume yang dapat digunakan untuk menyimpan data. Volume akan dikelola oleh Docker dan disimpan pada sistem host di lokasi yang ditentukan oleh driver penyimpanan Docker.

Memeriksa dan Menampilkan Daftar Volume

Anda dapat memeriksa konfigurasi dan detail volume menggunakan perintah docker volume inspect diikuti oleh nama volume:

bash
$ docker volume inspect my_volume

Perintah ini mengembalikan objek JSON yang berisi informasi tentang volume, seperti nama, tanggal pembuatan, dan lokasi di sistem host tempat data disimpan.

Untuk menampilkan daftar semua volume yang ada di sistem Anda, gunakan perintah docker volume ls:

bash
$ docker volume ls

Perintah ini menampilkan daftar volume beserta nama dan jenis driver.

Menghapus Volume

Untuk menghapus volume, gunakan perintah docker volume rm diikuti oleh nama volume:

bash
$ docker volume rm my_volume

Mengelola Data dalam Volume

Volume Docker dapat menyimpan berbagai jenis data, termasuk file konfigurasi, log, dan database. Anda dapat dengan mudah menyalin data antara sistem host dan volume menggunakan perintah docker cp.

Misalnya, untuk menyalin file dari sistem host ke dalam volume, gunakan sintaks berikut:

bash
$ docker cp /path/to/local/file my_container:/path/to/volume

Sebaliknya, Anda dapat menyalin data dari volume ke sistem host dengan perintah berikut:

bash
$ docker cp my_container:/path/to/volume /path/to/local/destination

Membagi Volume Antara Kontainer

Volume Docker dapat dibagi antara beberapa kontainer, memungkinkan mereka untuk membaca dan menulis data ke unit penyimpanan yang sama. Ini sangat berguna untuk aplikasi yang memerlukan berbagi atau sinkronisasi data antara kontainer.

Untuk membagikan volume antara kontainer, cukup pasang volume ke masing-masing kontainer menggunakan flag -v atau --volume dengan perintah docker run:

bash
$ docker run -d --name container1 -v my_volume:/path/in/container1 my_image
$ docker run -d --name container2 -v my_volume:/path/in/container2 my_image

Dalam contoh ini, baik container1 maupun container2 memiliki akses ke volume yang sama, my_volume, memungkinkan mereka untuk berbagi data dengan lancar.

Pemasangan Volume pada Kontainer Docker

Dalam bab ini, saya akan membahas cara memasang volume pada kontainer Docker, mengelola data dalam volume, dan membagikan volume antara kontainer. Kita juga akan mengeksplorasi opsi pemasangan volume dan implikasi mereka pada aplikasi yang dikontainerisasi.

Memasang Volume ke Kontainer

Untuk memasang volume ke kontainer, gunakan flag -v atau --volume dengan perintah docker run, diikuti oleh nama volume dan path kontainer di mana Anda ingin volume dipasang:

bash
$ docker run -d --name my_container -v my_volume:/path/in/container my_image

Dalam contoh ini, kontainer baru yang diberi nama my_container dibuat dari image my_image, dengan volume my_volume dipasang pada /path/in/container dalam kontainer. Kontainer sekarang dapat membaca dan menulis data ke dalam volume, memastikan ketahanan data melintasi restart kontainer.

Mengelola Data dalam Volume

Anda dapat mengelola data dalam volume dengan menjalankan perintah dalam kontainer atau dengan menggunakan perintah Docker untuk berinteraksi dengan volume secara langsung. Untuk menjalankan perintah dalam kontainer, gunakan perintah docker exec:

bash
$ docker exec my_container command_to_run

Misalnya, untuk membuat file baru dalam volume yang dipasang di /path/in/container:

bash
$ docker exec my_container touch /path/in/container/new_file

Anda juga dapat menggunakan perintah docker cp untuk menyalin data antara sistem host dan volume.

Membagi Volume Antara Kontainer

Berbagi volume antara kontainer adalah fitur yang kuat yang memungkinkan kontainer berkolaborasi dan berbagi data. Untuk membagikan volume antara kontainer, pasang volume ke masing-masing kontainer menggunakan flag -v atau --volume.

Ketika beberapa kontainer membagi volume, mereka dapat membaca dan menulis data ke dalam volume secara bersamaan. Ini memungkinkan berbagi dan sinkronisasi data yang efisien antara kontainer.

Opsi Pemasangan Volume

Docker menyediakan beberapa opsi untuk mengonfigurasi pemasangan volume, seperti menentukan akses baca-saja atau menggunakan opsi pemasangan kustom. Untuk memasang volume sebagai baca-saja, gunakan opsi :ro dengan flag -v:

bash
$ docker run -d --name my_container -v my_volume:/path/in/container:ro my_image

Dalam contoh ini, volume my_volume dipasang sebagai baca-saja, mencegah kontainer untuk memodifikasi data yang disimpan dalam volume.

Untuk konfigurasi pemasangan volume yang lebih canggih, Anda dapat menggunakan flag --mount, yang memungkinkan Anda untuk menentukan opsi tambahan seperti opsi pemasangan kustom atau label volume:

bash
$ docker run -d --name my_container --mount source=my_volume,target=/path/in/container,ro my_image

Dalam contoh ini, flag --mount digunakan untuk memasang volume my_volume sebagai baca-saja, mirip dengan contoh sebelumnya yang menggunakan flag -v. Flag --mount menyediakan sintaks yang lebih eksplisit dan fleksibel untuk mengonfigurasi pemasangan volume.

Memasang Direktori Lokal sebagai Volume

Selain volume yang dikelola Docker, Anda juga dapat memasang direktori lokal dari sistem host sebagai volume di dalam kontainer Anda. Ini dapat berguna untuk berbagi data antara sistem host dan kontainer atau untuk situasi di mana akses langsung ke sistem file host diperlukan.

Untuk memasang direktori lokal sebagai volume, gunakan flag -v atau --volume dengan perintah docker run, diikuti oleh path direktori host dan path kontainer di mana Anda ingin direktori dipasang:

bash
$ docker run -d --name my_container -v /path/on/host:/path/in/container my_image

Dalam contoh ini, direktori lokal /path/on/host di sistem host dipasang sebagai volume pada /path/in/container dalam kontainer. Kontainer sekarang dapat membaca dan menulis data ke direktori lokal, memungkinkan untuk berbagi data antara host dan kontainer dengan mudah.

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!