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

  • Taksi Driverless Pony.ai Insiden Alami Kebakaran Pertama
  • Baidu Akan Ekspansi Robotaxi ke Eropa, Indonesia Tertinggal Makin Jauh
  • Trump Jago Dagang, Qatar Beli 210 Pesawat Boeing Jumbojet
  • AS dan Arab Saudi Deal Jual-Beli Senjata 142 Miliar Dollar
  • Sejarah Injil Thomas dan Kristen Gnostik yang Terlarang
  • Sejarah Mufti Palestina Berkoalisi dengan NAZI Jerman
  • Trik Licik Bandar Judi Online yang Kamu Belum Tahu
  • Misteri DNA Nenek Moyang Manusia Mexico
  • Sejarah Peradaban Tartessos
  • Benarkah Badai Matahari Picu Gempa 8 Skala Richter Atau Lebih?
  • Sejarah Harley-Davidson Jadi Kultus Tato Terbanyak di Dunia
  • Guru Gembul: Pacaran Menurut Sains Itu Baik?
  • G30S Jadi Revolusi Gagal atau Memang Rencana Soeharto?
  • Film Jumbo 9,2 Juta Penonton: Faktor Fluke Effect, Apa itu?
  • Sejarah Wahana Tianwen-1 China Mendarat di Mars
  • Pengertian dan Sejarah Mesin Linotype (Mesin Cetak Baris)
  • Apa itu Negara Mikronesia? Tetangga Rese Indonesia?
  • Apa itu Virus Tumbuhan (Plant Virus)?
  • Nio Perkenalkan Mobil Listrik ES6, EC6, ET5 dan ET5T
  • Mobil Prototipe Huawei Stelato S9 Kena Foto Netizen Lagi, Lebih Canggih?
  • Honda Dihajar BYD Di Indonesia, Turun Parah di April 2025
  • Konami Adakan Event Ulang Tahun ke 8 eFootball Mobile
  • Apa Itu RUU Keamanan dan Ketahanan Siber (RUU KKS)?
  • Pabrik Prosesor China Hygon Kini Buat CPU Server 128 Core
  • Standard Chartered: Mimpi Bitcoin 120 Ribu Dollar itu Terlalu Rendah

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