Skip to content

emka.web.id

Banner 1
Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Memahami Instruksi VOLUME Dockerfile

Posted on September 02, 2022 by Syauqi Wiryahasana
Docker digunakan untuk menyimpan data persisten di luar wadah Anda. Mereka mengizinkan file konfigurasi, database, dan cache yang digunakan oleh aplikasi Anda untuk hidup lebih lama dari instance container individual. Volumes dapat dipasang saat Anda memulai container dengan flag perintah-v perintah docker run. Ini dapat mereferensikan volume bernama atau mengikat mount direktori host ke filesystem penampung. Ini juga memungkinkan untuk menentukan volume pada waktu pembuatan gambar dengan menggunakan instruksi VOLUME di Dockerfiles Anda. Mekanisme ini menjamin bahwa container yang dimulai dari image akan memiliki penyimpanan persisten yang tersedia. Dalam artikel ini Anda akan mempelajari cara menggunakan instruksi ini dan kasus penggunaan yang masuk akal.

Mendefinisikan Volume Di Dockerfiles

Instruksi Dockerfile VOLUME membuat titik pemasangan volume pada jalur kontainer yang ditentukan. Sebuah volume akan dipasang dari sistem file host Docker Anda setiap kali sebuah container dimulai. Dockerfile dalam contoh berikut mendefinisikan volume di jalur container /opt/app/data. Wadah baru akan secara otomatis memasang volume ke direktori.
FROM ubuntu:22.04 
VOLUME /opt/app/data
Build image Anda sehingga Anda dapat menguji volume mount:
$ docker build -t volumes-test:latest .
Mengambil daftar volume yang ada sebagai referensi:
$ docker volume ls 
DRIVER VOLUME NAME 
lokal demo-volume
Sekarang mulai wadah menggunakan gambar uji Anda:
$ docker run -it volume-test:latest root@07be7bde68c2:/#
Ulangi perintah docker volume ls untuk mengonfirmasi a volume baru telah dibuat:
$ docker volume ls 
DRIVER VOLUME NAME 
local 3198bf857fdcbb8758c5ec7049f2e31a40b79e329f756a68725d83e46976b7a8 local demo-volume
Keluar dari shell container uji Anda sehingga container keluarnya akan berhenti:
#68 $ docker volume ls 
DRIVER NAMA VOLUME 
lokal 3198bf857fdcbb8758c5ec7049f2e31a40b79e329f756a68725d83e46976b7a8 lokal demo-volume
Anda dapat menentukan beberapa volume dalam satu instruksi tion sebagai string yang dibatasi spasi atau array JSON. Kedua formulir berikut membuat dan memasang dua volume unik saat container mulai:
VOLUME /opt/app/data /opt/app/config 
# ATAU VOLUME ["/opt/app/data", "/opt/app/config"] 
Mengisi Konten Volume Awal
Volumes secara otomatis diisi dengan konten yang ditempatkan ke direktori mount dengan langkah-langkah pembuatan gambar sebelumnya: FROM ubuntu:22.04 SALIN default-config.yaml /opt/app/config/default-config.yaml VOLUME /opt/app/config Dockerfile ini mendefinisikan volume yang akan diinisialisasi dengan file default-config.yaml yang ada. Kontainer akan dapat membaca /opt/app/config/default-config.yaml tanpa harus memeriksa apakah file tersebut ada. Perubahan pada konten volume yang dibuat setelah instruksi VOLUME akan dibuang. Dalam contoh ini, file default-config.yaml masih tersedia setelah container dimulai karena perintah rm muncul setelah /opt/app/config ditandai sebagai volume. FROM ubuntu:22.04 COPY default-config.yaml /opt/app/ config/default-config.yaml VOLUME /opt/app/config RUN rm /opt/app/config/default-config.yamlMengganti Instruksi VOLUME Saat Memulai Container Volumes yang dibuat oleh instruksi VOLUME secara otomatis diberi nama dengan hash unik yang panjang. Tidak mungkin untuk mengubah namanya sehingga sulit untuk mengidentifikasi volume mana yang secara aktif digunakan oleh container Anda. Anda dapat mencegah volume ini muncul dengan mendefinisikan volume secara manual pada container Anda dengan docker run -v seperti biasa. Perintah berikut secara eksplisit memasang volume bernama ke direktori /opt/app/config container, membuat instruksi VOLUME Dockerfile menjadi redundant. $ docker run -it -v config:/opt/app/config volumes-test:latestKapan Harus Anda Gunakan Instruksi VOLUME? VOLUME instruksi dapat membantu dalam situasi di mana Anda ingin menegakkan bahwa ketekunan digunakan, seperti dalam gambar yang mengemas server database atau penyimpanan file. Menggunakan instruksi VOLUME mempermudah memulai container tanpa mengingat flag -v ke apply. VOLUME juga berfungsi sebagai dokumentasi jalur container yang menyimpan data persisten. Menyertakan instruksi ini di Dockerfile Anda memungkinkan siapa saja untuk menentukan di mana container Anda menyimpan datanya, bahkan jika mereka tidak terbiasa dengan aplikasi Anda. VOLUME Pitfalls VOLUME bukannya tanpa kekurangannya. Masalah terbesarnya adalah bagaimana ia berinteraksi dengan pembuatan gambar. Menggunakan gambar dengan instruksi VOLUME sebagai gambar dasar build Anda akan berperilaku tidak terduga jika Anda mengubah konten dalam titik pemasangan volume. Gotcha dari sebelumnya masih berlaku: efek perintah setelah instruksi VOLUME akan dibuang. Karena VOLUME akan berada di gambar dasar, semua yang ada di Dockerfile Anda muncul setelah instruksi dan Anda tidak dapat mengubah konten default direktori. Di balik layar, memulai wadah sementara untuk build akan membuat volume baru di host Anda yang dihancurkan di akhir build. Perubahan tidak akan disalin kembali ke gambar keluaran. Pemasangan volume otomatis juga dapat menimbulkan masalah dalam situasi lain. Terkadang pengguna mungkin lebih suka memulai wadah sementara tanpa volume apa pun, mungkin untuk tujuan evaluasi atau debugging. VOLUME menghilangkan kemungkinan ini karena tidak mungkin untuk menonaktifkan pemasangan otomatis. Hal ini menyebabkan banyak volume redundan menumpuk di host jika container yang menggunakan instruksi dimulai secara teratur.

Kesimpulan

Dockerfile Instruksi VOLUME memungkinkan pemasangan volume ditentukan pada waktu pembuatan gambar. Mereka menjamin bahwa container yang dimulai dari image akan memiliki penyimpanan data persisten yang tersedia, bahkan jika pengguna menghilangkan flag -v flag. dari perintah docker run.Perilaku ini dapat berguna untuk image yang memerlukan ketekunan atau banyak volume. Namun instruksi VOLUME juga mematahkan beberapa harapan pengguna dan memperkenalkan perilaku unik sehingga perlu ditulis dengan hati-hati. Menyediakan file Docker Compose yang secara otomatis membuat volume yang diperlukan seringkali merupakan solusi yang lebih baik. Itulah berita seputar Memahami Instruksi VOLUME Dockerfile, semoga bermanfaat. Disadur dari HowToGeek.com.
Banner 1
Seedbacklink

Recent Posts

  • Apa itu Kepulauan Chagos? (Milik Inggris atau Mauritius?)
  • Apa itu Kiwano atau Melon Berduri (Cucumis Metuliferus)?
  • Apakah Paganisme itu Agama?
  • Perbaiki Kebodohannya, Pemerintah Buka Lagi Akses Ke Situs archive.org
  • Kenapa Disebut Ilmuwan Muslim, Bukan Ilmuwan Arab atau Ilmuwan Persia?
  • Indonesia Prasejarah, Benarkah Se-kaya itu?
  • Apa itu Bilangan Aleph ?
  • Jejak Aneh Nisan Makam Gaya Aceh di Pangkep Sulawesi Selatan
  • Rasa’il Ikhwan al-Shafa Fondasi Matematika dalam Filsafat Islam
  • Review Aplikasi Melolo, Saingan Berat Dramabox!
  • Review Game Dislyte: Petualangan Urban Myth yang Seru!
  • Microsoft Resmikan Cloud Region Pertama di Indonesia, Pacu Pertumbuhan AI
  • Bagaimana Bisa Xiaomi Jadi Raja dibanyak Sektor?
  • Sejarah Tokoh Judi Negara: Robby Sumampow
  • Kenapa Hongkong Mulai Kehilangan Anak Mudanya?
  • Apakah China ada Peternakan Panda?
  • Kebohongan Ajudan Bung Karno Soal Letkol Untung Habisi Para Jenderal?
  • Apakah Harga Minyak Dunia Turun Bikin OPEC Bangkrut?
  • Hal Konyol di Startrek Original Series
  • Inilah Deretan Buku-Buku Kontroversial di Dunia
  • Benarkah Kisah Ibrahim-Ismail Tiru Kisah Agamemnon Yunani Kuno?
  • Misteri Paus Donus II, Paus Fiktif Diakui Selama 200 Tahun
  • Review BMW Speedtop M8 Superwagon
  • Apa itu ATC (Air Traffic Control)?
  • Leon Hartono: Investasi Emas Fisik vs Digital vs Crypto 2025

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically