Ralat 'Kebenaran Ditolak' Docker

Ralat Kebenaran Ditolak Docker



Apabila bekerja dengan Docker, anda mungkin menghadapi contoh di mana arahan itu mengembalikan ralat 'kebenaran ditolak'. Ralat ini berlaku apabila anda cuba menjalankan Docker tanpa kebenaran yang mencukupi untuk arahan itu.

Docker memerlukan kebenaran sudo atau root untuk melaksanakan arahan yang berkaitan secara lalai. Percubaan untuk menjalankan sebarang arahan tanpa keistimewaan yang diperlukan membawa kepada ralat 'kebenaran ditolak' yang terkenal.





Tutorial ini menyediakan pelbagai kaedah dan teknik yang boleh anda gunakan untuk membetulkan ralat 'kebenaran ditolak' semasa cuba menjalankan arahan Docker.



Perlu diingat bahawa ia tidak meliputi proses menjalankan Docker dalam persekitaran tanpa akar. Anda boleh menyemak tutorial kami tentang Docker tanpa akar dalam sumber berikut:



Keperluan:

Seperti yang anda boleh rasa, untuk mengikuti siaran ini, anda dikehendaki mempunyai yang berikut:





    1. Docker versi 20.0 dan ke atas
    2. Sudo atau kebenaran root pada sistem hos

Apakah Ralat 'Kebenaran Ditolak'?

Apabila ralat 'kebenaran dinafikan' berlaku dalam Docker, ini bermakna sistem hos tidak dapat mewujudkan komunikasi dengan daemon Docker kerana kebenaran yang tidak mencukupi. Satu contoh ditunjukkan dalam perkara berikut:

$ lari berlabuh -ia kotak sibuk sh



Jika anda menghadapi ralat yang diberikan, anda boleh menggunakan beberapa kaedah berikut untuk mengetahui cara membetulkannya.



Kaedah 1: Jalankan Docker sebagai Root

Kaedah pertama dan paling jelas untuk menyelesaikan ralat 'kebenaran ditolak' Docker adalah menggunakan arahan 'sudo'. Jika anda mempunyai keistimewaan sudo, anda boleh membetulkannya dengan menjalankan perintah yang berkaitan menggunakan sudo.

Sebagai contoh, untuk membetulkan ralat tersebut, kita boleh menambahkan sudo sebelum arahan seperti berikut:

$ sudo lari berlabuh -ia kotak sibuk sh



Seperti yang anda lihat, Docker berjaya menarik imej yang diperlukan dan menjalankan bekas.

Kaedah 2: Mulakan semula Daemon Docker

Kadangkala, anda boleh mendapatkan ralat 'kebenaran ditolak' dalam Docker jika enjin mengalami masalah. Daripada menjejaki isu itu secara manual, anda boleh cuba memulakan semula daemon Docker dengan pantas untuk memuatkannya semula.

Mulakan dengan menyemak status daemon Docker seperti berikut:

$ docker systemctl status docker



Sebaik sahaja anda memastikan bahawa Docker sedang berjalan, mulakan semula perkhidmatan dengan arahan berikut:

$ sudo systemctl mulakan semula docker


Ini sepatutnya boot daemon Docker dan membetulkan sebarang isu yang mungkin menghalang anda daripada menjalankan sebarang arahan.

Kaedah 3: Dayakan Pengguna Bukan Root

Kaedah lain yang boleh anda gunakan untuk menyelesaikan ralat 'kebenaran ditolak' dalam Docker ialah membenarkan pengguna bukan root untuk melaksanakan arahan Docker.

Untuk mendayakan kaedah ini, log masuk ke sistem hos dan buat kumpulan baharu untuk Docker.

$ sudo tambah kumpulan -f pekerja pelabuhan


Seterusnya, tambahkan mana-mana pengguna yang anda inginkan ke kumpulan Docker seperti berikut:

$ sudo usermod -aG docker linuxhint


Perintah sebelumnya harus menambah pengguna linuxhint ke kumpulan Docker.

Akhir sekali, gunakan perubahan kumpulan pada sesi semasa menggunakan arahan berikut:

$ newgrp buruh pelabuhan


Setelah selesai, anda boleh menjalankan sebarang arahan Docker tanpa menggunakan sudo untuk mana-mana pengguna dalam kumpulan Docker.

Kaedah 4: Konfigurasikan semula Kebenaran Docker

Kaedah seterusnya yang boleh anda gunakan ialah menetapkan semula kebenaran untuk soket Docker. Mulakan dengan menukar pemilikan soket Docker Unix dengan menjalankan arahan berikut:

$ sudo chown akar: docker / adalah / lari / docker.stock


Seterusnya, ambil pemilikan direktori Docker tersembunyi dalam direktori rumah anda menggunakan arahan seperti berikut:

$ sudo chown -R ' $USER ' : ' $USER ' $HOME / .docker


Akhir sekali, tetapkan kumpulan dengan kebenaran baca dan tulis ke direktori seperti berikut:

$ sudo chmod -R g+rw ' $HOME /.docker'


Kaedah yang disediakan harus menetapkan kebenaran yang mencukupi untuk fail dan direktori Docker yang penting.

Kesimpulan

Dalam tutorial ini, kami belajar bagaimana kami boleh menggunakan empat kaedah utama untuk menyelesaikan ralat 'kebenaran ditolak' Docker apabila menggunakan arahan Docker.