Rumah > Artikel > Operasi dan penyelenggaraan > Apakah yang perlu saya lakukan jika bekas docker tidak boleh mengubah suai fail?
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
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
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"
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!