Ciri-ciri Docker Volume
- Berkongsi data jumlah dan storan di antara beberapa bekas dan sistem fail host.
- Memisahkan bekas dari simpanan.
- Tidak menghapus data terkandung semasa menghapus bekas.
- Sandarkan, pulihkan, dan pindahkan data dengan mudah.
Dalam tutorial ini, kami akan menerangkan apa itu volume Docker dan bagaimana menggunakannya, serta cara memasang volume di Docker.
Keperluan
- Sistem yang menjalankan Linux dengan Docker dipasang.
- Kata laluan root dikonfigurasikan.
Sintaks Asas Docker Volume
Anda boleh menggunakan perintah "volume docker" untuk melihat semua pilihan yang tersedia dengan kelantangan:
isipadu dokAnda harus melihat output berikut setelah memasukkan arahan di atas:
Kegunaan: kelantangan pelabuhan PERINTAHUrus jilid
Perintah:
buat Buat kelantangan
periksa Paparkan maklumat terperinci mengenai satu atau lebih jilid
Senaraikan isi padu
prune Keluarkan semua jilid tempatan yang tidak digunakan
rm Keluarkan satu atau lebih isi padu
Jalankan 'docker volume COMMAND --help' untuk maklumat lebih lanjut mengenai arahan.
Buat Jilid
Untuk membuat volume data, pertama-tama anda perlu membuat volume data pada host Docker dan melampirkan volume ke bekas.
Anda dapat membuat volume Docker menggunakan perintah "buat volume docker.Sebagai contoh, gunakan arahan berikut untuk membuat volume Docker baru bernama myvolume:
kelantangan dok membuat myvolumeAnda harus melihat output berikut:
myvolumeAnda boleh menyenaraikan kelantangan yang ada menggunakan arahan berikut:
kelantangan pelabuhan lsAnda harus melihat output berikut:
NAMA VOLUM PEMANDUtempatan c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
myvolume tempatan
Sekiranya anda ingin melihat lebih banyak maklumat mengenai kelantangan, jalankan arahan berikut:
docker memeriksa myvolumeAnda harus mendapatkan output berikut setelah menjalankan perintah di atas:
["CreatedAt": "2020-09-12T04: 51: 31Z",
"Pemandu": "tempatan",
"Label": ,
"Mountpoint": "/ var / lib / docker / volume / myvolume / _data",
"Nama": "myvolume",
"Pilihan": ,
"Skop": "tempatan"
]
Pasang Kelantangan
Pada ketika ini, anda mempunyai satu jilid bernama myvolume. Dalam contoh ini, anda akan membuat bekas dan memasang myvolume ke bekas tersebut.
Anda boleh menggunakan pilihan -mount untuk menaikkan kelantangan. Sintaks asas untuk memasang kelantangan ke bekas ditunjukkan di bawah:
run docker --mount source = volume-name, destination = path-inside-container docker-gambarContohnya, untuk membuat bekas Ubuntu dan memasang myvolume ke bekas, jalankan arahan berikut:
docker run -it --name = volumecontainer --mount source = myvolume, destination = / data ubuntuPerintah ini akan menarik gambar Ubuntu dari Docker Hub, memulakan wadah dalam mod interaktif dengan nama volumecontainer, dan memasang wadah myvolume ke / data di dalam / direktori data:
Tidak dapat mencari gambar 'ubuntu: terkini' secara tempatanterkini: Menarik dari perpustakaan / ubuntu
54ee1f796a1e: Tarik selesai
f7bfea53ad12: Tarik lengkap
46d371e02073: Tarik selesai
b66c17bbf772: Tarik selesai
Pencernaan: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Status: Muat turun gambar baru untuk ubuntu: terkini
root @ 06a477c4e444: / #
Anda boleh memeriksa kelantangan yang dipasang dengan arahan berikut:
[dilindungi e-mel]: / # lsAnda harus melihat direktori data dalam output berikut:
bin boot data dev dll home lib lib32 lib64 libx32 media mntopt proc root run sbin srv sys tmp usr var
Sekarang, kita akan membuat contoh fail bernama file.txt dalam / direktori data dengan arahan berikut:
echo "Ini adalah fail ujian!"> / data / fail.txtKeluar dari bekas dengan arahan berikut:
jalan keluarMulakan bekas yang sama sekali lagi dengan arahan berikut:
kontena docker mula volumecontainerSeterusnya, pasangkan bekas yang sedang berjalan dengan arahan berikut:
docker exec -it volumecontainer / bin / bashPeriksa sama ada fail anda.txt berterusan dengan yang berikut:
data / fail kucing.txtAnda harus mendapatkan output berikut setelah memasukkan perintah di atas:
Ini adalah fail ujian!
Berkongsi Data Antara Bekas
Anda juga boleh berkongsi data antara beberapa bekas menggunakan kelantangan Docker.
Seperti yang anda ketahui, kami telah membuat jilid bernama myvolume bekas baru bernama volumecontainer menggunakan jilid ini. Kami juga telah membuat fail bernama file.txt di dalam kelantangan.
Sekarang, kita akan membuat satu lagi bekas bernama volumecontainer1 dengan volume myvolume yang sama menggunakan arahan berikut:
docker run -it --name = volumecontainer1 --mount source = myvolume, destination = / data ubuntuJalankan arahan ls, seperti gambar di bawah:
lsAnda harus melihat direktori data dalam output berikut:
bin boot data dev dll home lib lib32 lib64 libx32media mnt opt proc root run sbin srv sys tmp usr var
Jalankan arahan berikut periksa fail.txt:
kucing / data / fail.txtAnda harus melihat kandungan yang sama dengan yang anda buat di bekas sebelumnya:
Ini adalah fail ujian!
Mount Direktori sebagai Jilid
Anda boleh menggunakan direktori yang terdapat di dalam sistem host Docker anda sebagai kelantangan dan memasangnya ke bekas. Anda juga dapat menggunakan pilihan -v untuk mencapai hal yang sama, seperti yang ditunjukkan di bawah:
docker run -v "direktori_name": volume_name docker_imageBuat direktori bernama / data di dalam host Docker dengan arahan berikut:
mkdir / DataSeterusnya, buat beberapa fail di dalam direktori / Data:
cd / Datafail sentuh1.fail txt2.fail txt3.txt
Buat wadah baru menggunakan direktori / Data sebagai jilid dengan perintah berikut:
docker run -it --name = data1 -v / Data: / Data ubuntuPerintah ini akan membuat bekas baru dan memasang kelantangan dengan nama / Data.
Jalankan arahan berikut untuk memeriksa kandungan direktori / Data:
ls -l / Data /Anda harus melihat semua fail yang telah kami buat sebelumnya dalam sistem host, seperti yang ditunjukkan di bawah:
jumlah 0-rw-r - r-- 1 root root 0 Sep 12 05:41 file1.txt
-rw-r - r-- 1 root root 0 Sep 12 05:41 file2.txt
-rw-r - r-- 1 root root 0 Sep 12 05:41 file3.txt
Keluarkan Isipadu Docker
Anda boleh menghapus atau membuang kelantangan dengan mudah menggunakan sintaks berikut:
nama pelabuhan rm volume-namaSebagai contoh, untuk membuang kelantangan bernama myvolume, jalankan arahan berikut:
jumlah dok dok rm myvolumeAnda harus mendapat ralat berikut:
Ralat ralat dari daemon: hapus myvolume:kelantangan sedang digunakan - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]
Ini kerana kelantangan anda digunakan oleh bekas. Oleh itu, anda perlu berhenti dan mengeluarkan bekas sebelum mengeluarkan isipadu.
Untuk menghentikan dan mengeluarkan bekas, jalankan arahan berikut:
docker container stop volumecontainer volumecontainer1kontena docker rm volumecontainer volumecontainer1
Sekarang, anda boleh mengeluarkan kelantangan dengan mudah.
Kesimpulannya
Dalam panduan di atas, anda telah mengetahui apakah isipadu Docker, bagaimana membuatnya, dan bagaimana memasangnya di dalam bekas. Anda juga belajar bagaimana berkongsi data antara beberapa bekas menggunakan kelantangan.