GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Memahami Volume Docker

File (dan data lain) yang disimpan dalam wadah Docker tidak akan bertahan jika wadah dihapus. Untuk mengatasinya, Docker volume dan ikat tunggangan dapat digunakan. Panduan ini membahas penggunaan volume Docker sebagai cara untuk menyimpan data persisten. Pikirkan volume sebagai hard drive eksternal; jika hard drive internal dihapus, hard drive eksternal masih menyimpan datanya sendiri. Volume disimpan di host dan tidak bergantung pada wadah atau gambar apa pun. Mereka dapat dipasang ke wadah yang berbeda sesuai kebutuhan dan, karena volume terpisah dari gambar, mereka tidak menambah ukuran gambar.

Sebelum Anda Mulai

  1. Jika Anda belum melakukannya, buat akun Linode dan Compute Instance. Lihat panduan Memulai Linode dan Membuat Instans Komputasi.

  2. Ikuti panduan Menyiapkan dan Mengamankan Instans Komputasi untuk memperbarui sistem Anda. Anda mungkin juga ingin mengatur zona waktu, mengkonfigurasi nama host Anda, membuat akun pengguna terbatas, dan memperkuat akses SSH.

  3. Instal Docker di sistem Anda.

  4. Panduan ini mengasumsikan Anda nyaman menggunakan baris perintah Linux. LihatMenggunakan terminal.

  5. Panduan ini mengasumsikan Anda memiliki pemahaman dasar tentang Docker. Selain itu, Anda seharusnya sudah menginstal Docker di server Anda dan menerapkan image Docker. Lihat Pengantar Docker.

Membuat Volume Docker

Untuk mulai memahami Volume Docker, Anda memerlukan volume untuk dikerjakan.

  1. Masuk ke Linode Anda (atau server Linux lainnya) melalui SSH atau Lish.

  2. Buat volume dengan memasukkan perintah berikut, menggantikan example_volume dengan label untuk volume Anda.

    docker volume create example_volume
    
  3. Pastikan volume telah dibuat.

    docker volume list
    

    Outputnya akan terlihat seperti ini:

    [[email protected] ~]$ docker volume list
    DRIVER    VOLUME NAME
    local     example_volume
    [[email protected] ~]$

Memeriksa Volume Docker

Jika Anda ingin melihat detail lebih lanjut tentang volume, Anda dapat menggunakan docker volume inspect perintah:

docker volume inspect example_volume

Outputnya harus seperti berikut:

[[email protected] ~]$ docker volume inspect example_volume
[
    {
        "CreatedAt": "2021-05-19T15:27:27Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/example_volume/_data",
        "Name": "example_volume",
        "Options": {},
        "Scope": "local"
    }
]
[[email protected] ~]$

Memasang Volume Docker ke Wadah

Agar data container tetap ada, Anda harus memasang Docker Volume menggunakan --mount flag di docker run memerintah. Ganti [nama_volume] dengan nama volume Anda, [path] dengan jalur absolut yang Anda inginkan untuk memasang volume di dalam wadah, dan [docker_image] dengan nama gambar Anda.

docker run --mount source=[volume_name],destination=[path] [docker_image]

Sebagai contoh, perintah berikut memasang volume bernama example_volume ke jalur /example_volume di dalam wadah menggunakan ubuntu gambar.

docker run -it --name=example --mount source=example_volume,destination=/example_volume ubuntu

Perintah ini menjalankan gambar, memasang volume, dan memasukkan pengguna sebagai root pada gambar Ubuntu. Setelah masuk sebagai root, Anda dapat memverifikasi bahwa "example_volume" dipasang hanya dengan ls . Output untuk semua ini akan terlihat seperti ini:

[[email protected] ~]$ docker run -it --name=example --mount source=example_volume,destination=/example_volume ubuntu
[email protected]:/# ls
bin   dev  example_volume  lib    lib64   media  opt   root  sbin  sys  usr
boot  etc  home            lib32  libx32  mnt    proc  run   srv   tmp  var
[email protected]:/#

Menyalin dan Berbagi File Antar Container

Volume Docker juga memungkinkan berbagi antar container.

  1. Pasang volume sesuai dengan instruksi di dalam Memasang Volume Docker ke Wadah. Berikut adalah contoh yang digunakan sebelumnya:

    docker run -it --name=example --mount source=example_volume,destination=/example_volume ubuntu
    
  2. Ubah direktori ke example_data direktori.

    cd example_data
    
  3. Buat file uji dalam volume dengan memasukkan touch berikut perintah.

    touch example_file.txt
    
  4. Kemudian keluar dari wadah.

    exit
    
  5. Sekarang jalankan gambar buruh pelabuhan lain dengan volume yang sama terpasang. debian gambar digunakan dalam contoh di bawah ini.

    docker run -it --name=example_2 --mount source=example_volume,destination=/example_volume debian
    
  6. Di dalam wadah baru (disebut “example_2” jika menggunakan perintah yang mirip dengan yang di atas), navigasikan ke direktori volume.

     cd example_volume
    
  7. Masukkan ls untuk melihat file.

    ls
    

Memasang Direktori dari Linode Anda ke Kontainer

Alih-alih membuat volume baru, Anda juga dapat memasang direktori dari Linode Anda (atau sistem lain) ke wadah Docker. Ini dilakukan melalui pengikatan dan sangat membantu ketika Anda ingin menyimpan dan mengakses file penampung Anda langsung dari sistem Anda. Dibandingkan dengan volume, bind mount memiliki fungsionalitas yang terbatas.

  1. Masuk ke Linode Anda (atau server Linux lainnya) melalui SSH atau Lish.

  2. Gunakan perintah berikut untuk menjalankan Docker, menggantikan [local-directory] dengan path absolut ke direktori di dalam Linode yang ingin Anda mount (gunakan $(pwd) untuk memasang direktori saat ini). Kemudian ganti [mount-directory] dengan jalur absolut pada wadah tempat Anda ingin mengakses file lokal dan ganti [image] dengan gambar Docker yang ingin Anda gunakan.

    docker run --rm -it -v [local-directory]:[mount-directory] [image]
    
  3. Anda secara otomatis masuk ke wadah. Navigasikan ke direktori mount Anda dan lihat filenya.

    ls
    

    Anda akan melihat file apa pun yang telah Anda simpan di dalam direktori lokal.

Bacaan Lebih Lanjut

Ada lebih banyak lagi untuk Volume Docker daripada yang bisa kita bahas di sini, dan kasus penggunaan setiap orang akan berbeda. Namun, dua tempat bagus untuk mengulas lebih lanjut tentang ini adalah di situs Docker's Docs itu sendiri:

  • Gunakan volume di Docker Docs

  • Memecahkan masalah kesalahan volume di Docker Docs

Informasi Lebih Lanjut

Anda mungkin ingin berkonsultasi dengan sumber daya berikut untuk informasi tambahan tentang topik ini. Meskipun ini disediakan dengan harapan dapat bermanfaat, harap perhatikan bahwa kami tidak dapat menjamin keakuratan atau ketepatan waktu materi yang dihosting secara eksternal.

  • Gunakan volume di Docker Docs
  • Memecahkan masalah kesalahan volume di Docker Documents

Docker
  1. Membuat volume logis di Linux dengan LVM

  2. Memahami Output Perintah "statistik buruh pelabuhan"

  3. Memahami kepemilikan file pengguna di buruh pelabuhan:cara menghindari perubahan izin volume tertaut

  1. Memahami Ruang/Volume Kosong Di Ubuntu?

  2. Volume file tunggal dipasang sebagai direktori di Docker

  3. Memahami pemetaan port buruh pelabuhan

  1. Cara Berbagi Data antara Wadah Docker di Ubuntu 22.04

  2. Buruh pelabuhan

  3. Pengantar Docker