Apakah yang perlu saya lakukan jika bekas docker tidak boleh mengubah suai fail?

PHPz
Lepaskan: 2023-04-18 09:56:42
asal
2144 orang telah melayarinya

Docker ialah teknologi virtualisasi ringan yang membolehkan penggunaan merentas platform aplikasi dengan aplikasi pembungkusan dan kebergantungan yang berkaitan ke dalam imej. Dalam Docker, bekas ialah contoh yang dijalankan berdasarkan imej, dan sistem fail bekas ialah lapisan boleh tulis yang dibuat daripada imej, yang membolehkan aplikasi menggunakan dan mengubah suai fail dalam bekas. Walau bagaimanapun, kadangkala anda akan menghadapi beberapa masalah pelik apabila mengubah suai fail dalam bekas Docker, seperti kebenaran fail yang tidak mencukupi, kunci fail, dsb. Dalam artikel ini, kami akan membincangkan latar belakang, sebab dan penyelesaian mengapa bekas Docker tidak boleh mengubah suai fail.

Latar Belakang

Bekas Docker diasingkan semasa runtime, mereka boleh mengakses fail dalam sistem fail hos, tetapi sistem fail bekas itu sendiri ialah lapisan boleh tulis, yang bermaksud bahawa dalam bekas itu Fail dicipta semasa runtime, dan ia adalah sebahagian daripada sistem fail berbanding mesin hos di mana bekas itu berada. Ini membawa kepada beberapa masalah dengan mengubah suai fail dalam bekas.

Punca

Untuk masalah bekas Docker tidak boleh mengubah suai fail, ia biasanya disebabkan oleh sebab berikut:

Isu kebenaran

Bekas Docker The pengguna bukan root secara lalai, jadi jika anda cuba mengubah suai fail sistem dalam bekas, anda mungkin menghadapi masalah kebenaran. Apabila anda melakukan perubahan sistem fail, Docker akan membuang mesej ralat "Kebenaran Ditolak". Penyelesaian kepada masalah ini ialah menjalankan arahan dengan sudo atau hak pengguna root. Anda boleh menggunakan arahan berikut untuk memasukkan bekas sebagai pengguna root:

$ sudo docker exec -it --user=root container_id /bin/bash
Salin selepas log masuk
Salin selepas log masuk

Selepas memasuki bekas, anda boleh menggunakan kebenaran root untuk mengubah suai fail.

Kunci Fail

Mengubah suai fail yang digunakan dalam bekas Docker boleh menyebabkan kunci fail, menghalang perubahan anda. Ini disebabkan oleh sifat perkongsian sistem fail. Bekas Docker berkongsi sistem fail hos dan jika fail yang sama seperti satu dalam bekas dibuka pada hos, fail itu akan dikunci supaya bekas tidak boleh mengubah suainya.

Isu kes sistem fail

Untuk sesetengah kes penggunaan, mungkin perlu mengakses sistem fail sensitif huruf besar dalam bekas Docker daripada sistem pengendalian hos menggunakan nama fail sensitif huruf besar-kecil. Ini akan membawa kepada kes nama fail yang tidak konsisten dalam hos dan bekas, yang akan mengakibatkan ketidakupayaan untuk mengubah suai fail dalam bekas. Dalam kes ini, anda boleh cuba menetapkan pilihan "--cidr" untuk melumpuhkan sensitiviti kes dalam Docker.

Penyelesaian

Untuk menyelesaikan masalah mengubah suai fail dalam bekas Docker, anda boleh mengambil kaedah berikut:

Gunakan sudo atau hak pengguna root

Jika anda Jika anda perlu mengakses perintah istimewa dalam bekas atau mengakses bekas dengan kebenaran root, anda boleh menggunakan arahan berikut untuk memasuki bekas:

$ sudo docker exec -it --user=root container_id /bin/bash
Salin selepas log masuk
Salin selepas log masuk

Selepas memasuki bekas, anda boleh menggunakan root kebenaran untuk mengubah suai fail. Ambil perhatian bahawa menggunakan keistimewaan root membolehkan anda menukar fail sistem dalam bekas, yang boleh menyebabkan kerosakan pada sistem.

Kunci fail

Apabila anda akan mengubah suai fail dalam bekas Docker, sebaiknya semak dahulu sama ada fail itu dikunci, sila alih keluar fail tersebut daripada tuan rumah mula-mula pada tutup. Ini menghalang fail daripada dikunci dan memastikan fail boleh ditulis.

Tetapkan CIDR

Jika anda perlu mengakses sistem fail dalam bekas Docker menggunakan nama fail sensitif huruf besar dalam sistem pengendalian hos, anda boleh cuba melumpuhkan Docker menggunakan pilihan "--cidr" Sensitiviti kes. Seperti yang ditunjukkan dalam arahan berikut:

$ docker run --cidr="off"
Salin selepas log masuk

Ambil perhatian bahawa melumpuhkan CIDR boleh menyebabkan kemerosotan prestasi pada sistem Linux.

Kesimpulan

Bekas Docker membawa banyak kemudahan kepada penggunaan dan pembangunan aplikasi, tetapi masalah mengubah suai fail dalam bekas Docker memang memerlukan sedikit pemprosesan. Semasa menulis artikel ini, kami membincangkan sebab bekas Docker tidak boleh mengubah suai fail, latar belakang dan beberapa penyelesaian. Jika anda juga menghadapi masalah ini, cuba gunakan kaedah yang dinyatakan dalam artikel ini dan laraskannya mengikut keperluan anda.

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika bekas docker tidak boleh mengubah suai fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!