Rumah >Operasi dan penyelenggaraan >Docker >Bagaimana untuk menyelesaikan ralat apabila docker menjalankan bekas

Bagaimana untuk menyelesaikan ralat apabila docker menjalankan bekas

PHPz
PHPzasal
2023-03-31 18:06:284351semak imbas

Semasa bekas Docker sedang berjalan, kadangkala anda mungkin menghadapi pelbagai laporan ralat, seperti "tiada fail atau direktori sedemikian", "kebenaran ditolak", "sambungan ditolak", dsb. Laporan ralat ini sering membuat kami berasa keliru dan tidak tahu cara menyelesaikannya.

Salah satu ralat biasa ialah apabila kita menggunakan perintah docker run untuk menjalankan bekas, ia akan menggesa "docker: Respons ralat daripada daemon: OCI runtime create failed: container_linux.go:345: starting container proses menyebabkan ralat "exec:". Jadi apakah maksud ralat ini dan bagaimana untuk menyelesaikannya?

Ralat ini bermakna Docker tidak boleh menjalankan arahan yang ditentukan semasa mencipta bekas. Antaranya, "container_linux.go:345" bermaksud terdapat masalah apabila Docker sebenarnya berjalan dalam bekas Linux. "exec: kebenaran ditolak" bermakna Docker tidak boleh melaksanakan arahan yang ditentukan kerana kebenaran ditolak.

Jadi mengapa ralat sedemikian berlaku? Secara umumnya, terdapat dua kemungkinan penyebab ralat ini.

Pertama sekali, ini mungkin kerana anda cuba menjalankan arahan tanpa kebenaran. Dalam bekas Docker, kebenaran yang diperlukan untuk menjalankan arahan adalah sangat terhad. Jika anda cuba menjalankan arahan yang memerlukan keizinan khas, maka anda akan menghadapi isu ditolak kebenaran.

Kedua, ini mungkin kerana anda menggunakan fail Docker atau imej yang salah. Dalam Docker, setiap bekas bergantung pada satu atau lebih imej. Jika terdapat masalah dengan imej atau Dockerfile yang anda gunakan, bekas tidak akan berjalan dengan betul.

Seterusnya, mari kita lihat cara untuk menyelesaikan masalah ini. Kaedah khusus adalah seperti berikut:

  1. Pastikan anda menggunakan arahan yang betul, dan kebenaran yang diperlukan oleh arahan itu tersedia dalam bekas. Anda boleh menguji ini dengan melaksanakan arahan secara manual dalam bekas. Jika anda berjaya menjalankan arahan pelaksanaan manual, masalahnya berkemungkinan besar dengan fail Docker atau imej.
  2. Pastikan tiada masalah dengan Fail Docker atau imej yang anda gunakan. Anda boleh mengetahui lebih lanjut tentang imej melalui dokumentasi rasmi Docker atau dokumentasi yang disediakan oleh penerbit imej. Jika anda menemui masalah dengan Dockerfile atau imej, anda boleh cuba menggunakan Dockerfiles atau imej lain untuk menyelesaikan masalah tersebut.
  3. Jika anda pasti tiada masalah dengan arahan dan imej yang anda gunakan, maka anda boleh cuba menambah parameter --privileged semasa menjalankan bekas. Parameter ini membolehkan bekas mendapatkan lebih banyak kebenaran, yang mungkin menyelesaikan masalah penafian kebenaran.

Ringkasnya, apabila kami menggunakan bekas Docker untuk dijalankan, kami menghadapi "docker: Respons ralat daripada daemon: OCI runtime create failed: container_linux.go:345: memulakan proses kontena yang disebabkan "exec: permission denied", mungkin kerana arahan yang kami gunakan tidak mempunyai kebenaran, atau terdapat masalah dengan Dockerfile atau imej yang kami gunakan. Jika anda pasti tiada masalah dengan kedua-dua aspek ini, anda boleh cuba menambah --privileged parameter untuk menyelesaikan masalah.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat apabila docker menjalankan bekas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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