Dalam kasus Docker , data akan disimpan di dalam wadah. Dan ketika kita menghapus data container tersebut akan hilang. Dalam panduan ini, kita akan mempelajari cara membuat volume buruh pelabuhan, cara memasangnya ke wadah, dan bagaimana volume yang sama dapat dibagikan di dua wadah atau lebih untuk menyimpan data.
Jika Anda belum mengetahui dasar-dasar buruh pelabuhan, lihat panduan berikut:
- Memulai Docker
Mengapa kami memerlukan volume untuk Docker?
- Saat menghapus penampung, volume tidak akan terhapus.
- Pasang atau lepaskan volume ke wadah.
- Berbagi volume (penyimpanan/data) di antara penampung yang berbeda.
- Memisahkan wadah dari penyimpanan.
- Menyimpan volume di host jarak jauh atau cloud.
Kita dapat memiliki pembagian logika data serta wadah. Kami dapat menyimpan data sedemikian rupa sehingga jika kami menghapus
wadah maka juga data kita akan hadir. Jadi setelah menghancurkan wadah, kami dapat melampirkan volume ke wadah yang ada maupun wadah baru.
Memulai Dengan Volume Docker
Volume buruh pelabuhan perintah akan menampilkan detail perintah volume yang dengannya kita dapat membuat volume, memeriksa tentang data detail volume, membuat daftar volume yang tersedia, dan menghapus volume.
# docker volume
Tampilkan bagian bantuan perintah "docker volume"
Membuat Volume Docker
Sintaks untuk membuat volume buruh pelabuhan adalah:
docker volume create <volume_name>
Contoh:
# docker volume create devops_volume
Perintah di atas akan membuat volume buruh pelabuhan bernama devops_volume .
buat volume buruh pelabuhan
Mencantumkan volume buruh pelabuhan
Untuk membuat daftar semua volume buruh pelabuhan yang dibuat, jalankan:
# docker volume ls
daftar volume buruh pelabuhan
Memeriksa volume buruh pelabuhan
pemeriksaan volume buruh pelabuhan perintah akan memberi Anda detail tentang pembuatan volume, lokasi, nama, dan cakupan.
Sintaks:
docker volume inspect <volume_name>
Mari saya tunjukkan detail volume buruh pelabuhan bernama devops_volume .
# docker volume inspect devops_volume
periksa volume buruh pelabuhan
Membuat wadah dengan volume yang menyertainya
Sintaks:
docker container create --name <container_name> -it --mount source<volume_name>,target=/<folder_Name> <image_name>
Contoh:
# docker container create --name myBusyBox1 -it --mount source=devops_volume,target=/app busybox
buat wadah dengan volume yang melekat padanya
Untuk memverifikasi apakah wadah telah dibuat atau belum, gunakan docker ps -a perintah:
keluaran perintah "docker ps"
Memulai container
Untuk memulai wadah yang baru dibuat, misalnya myBusyBox1 , jalankan:
# docker container start myBusyBox1
mulai wadah buruh pelabuhan
Seperti yang Anda lihat pada tangkapan layar di atas, wadah myBusyBox1 telah dibuat 8 menit yang lalu dan dimulai 6 detik yang lalu.
Menyalin file antar wadah dari volume bersama
Mari kita buat skenario di mana kita akan membuat file dalam satu wadah di lokasi bersama dan kami akan mencoba mengakses file dari wadah lain.
Kami telah membuat wadah bernama myBusyBox1. Mari kita buat yang lain, misalnya myBusyBox2 .
buat wadah
Sekarang kita memiliki dua kontainer dalam keadaan berjalan, myBusyBox1 dan myBusyBox2.
Mari kita sambungkan ke wadah pertama dan buat file di dalam /aplikasi folder.
# docker exec -it myBusyBox1 sh
Perintah di atas akan membawa Anda ke dalam container.
Kemudian, buat folder baru bernama devops di dalam folder /app dan keluar dari wadah pertama.
sambungkan ke wadah pertama
Sekarang, salin file, misalnya index.html , dari sistem lokal ke dalam lokasi /app/devops/ dari wadah myBusyBox1.
# docker container cp index.html myBusyBox1:/app/Devops
Sekarang sambungkan ke wadah kedua lainnya yaitu myBusyBox2 dan verifikasi itu di dalam /app/devops folder index.html file ada atau tidak.
# docker exec -it myBusyBox2 sh
sambungkan ke wadah kedua
Dari tangkapan layar di atas, dipastikan bahwa kedua wadah berbagi volume yang sama.
Kami dapat memeriksa lokasi Mountpoint volume menggunakan docker volume inspect perintah seperti di bawah ini:
# docker volume inspect devops_volume
docker memeriksa perintah volume
Seperti yang Anda lihat, lokasi mountpoint adalah /var/lib/docker/volumes/devops_volume/_data .
Mari kita pergi ke lokasi mountpoint dan melihat apakah file yang disalin tersedia atau tidak.
titik mount volume buruh pelabuhan
Di lokasi Mountpoint kami menemukan file yang sama.
Hapus volume buruh pelabuhan
Sintaks untuk menghapus volume adalah:
docker volume rm <volume_name>
Mari kita hapus volume yang disebut devops_volume .
# docker volume rm devops_volume
hapus volume buruh pelabuhan
Pada tangkapan layar di atas, kami mencoba menghapus volume tetapi tidak dapat menghapus karena volume sudah digunakan. Jadi pertama-tama kita perlu mematikan wadah dan membuat volume gratis. Dan kemudian kita dapat menghapus volumenya.
Untuk melakukannya, pertama-tama hapus semua container yang sedang berjalan menggunakan perintah:
# docker rm –f $(docker ps -aq)
Dan kemudian hapus volumenya:
# docker volume rm devops_volume
hapus volume buruh pelabuhan
Hapus semua volume sekaligus
Menggunakan docker rm perintah, kita dapat menghapus satu volume pada satu waktu. Jika kita memiliki banyak volume dan ingin menghapus semua volume maka kita harus menggunakan prune perintah.
Mari kita buat beberapa volume:
buat volume buruh pelabuhan
Sekarang hapus semua volume buruh pelabuhan sekaligus menggunakan perintah:
# docker volume prune
hapus semua volume buruh pelabuhan sekaligus
Lihat? Kami telah menghapus semua volume sekaligus.
Bacaan yang disarankan:
- Menjelaskan Konsep Jaringan Docker
- Cara Memperbarui Wadah Docker yang Berjalan Secara Otomatis
- ctop – Alat Pemantau Baris Perintah Untuk Wadah Linux
- Portainer – Cara Termudah Mengelola Docker
- PiCluster – Aplikasi Manajemen Docker Berbasis Web Sederhana
- Dockly – Kelola Kontainer Docker Dari Terminal
Tentang Penulis:
Dhruv Tiwari adalah Insinyur DevOps yang suka mengotomatisasi berbagai hal, bekerja dengan Linux dalam skala besar dan memimpikan hari ketika sistem cukup pintar untuk tidak perlu masuk ke kotak Linux. Perjalanan CI/CD dari kode sumber ke penerapan kode hingga produksi.