Rumah >Operasi dan penyelenggaraan >Docker >Bagaimana untuk melekapkan direktori tanpa memulakan semula docker
Dengan populariti Docker, sejumlah besar aplikasi telah mula digunakan dalam bekas Docker. Kelebihan mudah alih dan pengasingan Docker meningkatkan kecekapan dan kestabilan penggunaan aplikasi. Walau bagaimanapun, disebabkan sifat pengasingan bekas Docker, kadangkala orang berasa sedikit tidak berdaya. Artikel ini akan memperkenalkan kaedah untuk melekapkan direktori tanpa memulakan semula bekas Docker.
Pertama, kita perlu memahami volum data Docker. Kelantangan data ialah mekanisme yang digunakan untuk menyimpan data dalam bekas Docker Ia boleh melekapkan direktori tempatan ke dalam bekas Docker supaya data dalam bekas boleh disimpan ke cakera setempat. Apabila memulakan bekas Docker, anda boleh menentukan direktori tempatan untuk dipasang, seperti yang ditunjukkan di bawah:
docker run -v /localdir:/containerdir image_name
di mana, /localdir
ialah direktori tempatan, /containerdir
ialah direktori dalam bekas, image_name
ialah nama imej Docker.
Walau bagaimanapun, apabila kita perlu mengubah suai perhubungan pemasangan direktori, biasanya kita perlu memulakan semula bekas Docker. Ini akan membawa kepada peningkatan masa henti aplikasi dan menjejaskan pengalaman pengguna. Jadi, bagaimana untuk mengubah suai direktori pelekap tanpa memulakan semula bekas Docker?
Cara mudah ialah menggunakan perintah mount
. Perintah mount
boleh merealisasikan operasi pemasangan dan nyahlekap sistem fail Dengan menggunakannya, kami boleh menukar direktori pelekap tanpa memulakan semula bekas Docker. Langkah khusus adalah seperti berikut:
docker inspect -f '{{json .Mounts}}' container_name
Di mana, container_name
merujuk kepada nama bekas Docker .
Selepas melaksanakan arahan di atas, maklumat direktori pelekap dalam bekas akan dikembalikan formatnya seperti berikut:
[ { "Type": "bind", "Source": "/var/data", "Destination": "/app/data", "Mode": "", "RW": true, "Propagation": "rprivate" } ]
di mana Type
ialah jenis pelekap dan Source
. ialah direktori tempatan , Destination
ialah direktori dalam bekas dan RW
mewakili kebenaran baca dan tulis.
mount --make-rprivate /var/data umount /var/data
Dalam arahan di atas, pilihan --make-rprivate
digunakan untuk menetapkan direktori kepada kebenaran peribadi untuk mengelak daripada menjejaskan yang lain proses mempunyai kesan. Perintah umount
digunakan untuk menyahpasang direktori.
mount --bind /new/data /var/data
Dalam arahan di atas, kami lekapkan direktori baharu ke direktori asal untuk menukar direktori .
Melalui langkah di atas, kami telah berjaya menukar direktori pelekap tanpa memulakan semula bekas Docker. Perlu diingatkan bahawa jika terdapat fail dalam direktori yang sedang digunakan, anda perlu menghentikan semua proses yang menduduki direktori sebelum pengubahsuaian untuk mengelakkan kehilangan data.
Docker menyediakan penyelesaian penggunaan kontena yang cekap dan mudah, tetapi dalam aplikasi sebenar, kita perlu memahami sepenuhnya ciri pengasingannya dan belajar menggunakan teknik yang berkaitan untuk menangani pelbagai masalah dengan lebih baik. Melalui pengenalan artikel ini, saya percaya anda telah menguasai kaedah untuk memasang direktori tanpa memulakan semula bekas Docker. Saya harap ia dapat membantu anda mengatasi senario aplikasi sebenar dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk melekapkan direktori tanpa memulakan semula docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!