GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Memperbaiki Docker Permission Denied Error di Ubuntu

Baru-baru ini, saya menginstal Docker di Ubuntu. Itu sangat mudah. Tetapi ketika saya mencoba menjalankan perintah buruh pelabuhan, itu melemparkan kesalahan ini kepada saya:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied

Bukannya saya mencoba menjalankan sesuatu yang istimewa. Itu juga berlaku untuk perintah buruh pelabuhan dasar seperti ps.

Aneh, bukan? Mari saya tunjukkan cara mengatasi kesalahan yang mengganggu ini.

Memperbaiki 'Mendapat izin ditolak saat mencoba sambungkan ke kesalahan soket daemon Docker dengan Docker di Ubuntu

Ada dua cara untuk mengatasinya.

Perbaikan 1:Jalankan semua perintah buruh pelabuhan dengan sudo

Jika Anda memiliki akses sudo di sistem Anda, Anda dapat menjalankan setiap perintah buruh pelabuhan dengan sudo dan Anda tidak akan melihat 'Dapatkan izin ditolak saat mencoba menyambung ke soket daemon Docker' lagi.

sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
13dc0f4226dc        ubuntu              "bash"              17 hours ago        Exited (0) 16 hours ago                       container-2
2d9a8c190e6c        ubuntu              "/bin/bash"         17 hours ago        Created                                       container-1

Tetapi menjalankan setiap perintah buruh pelabuhan dengan Sudo sangat merepotkan. Anda melewatkan menambahkan sudo ke awal dan Anda akan mendapatkan kesalahan 'izin ditolak' lagi.

Perbaikan 2:Menjalankan perintah buruh pelabuhan tanpa sudo

Untuk menjalankan perintah buruh pelabuhan tanpa sudo, Anda dapat menambahkan akun pengguna Anda (atau akun yang Anda coba perbaiki masalah ini) ke grup buruh pelabuhan.

Pertama, buat grup buruh pelabuhan menggunakan perintah groupadd. Grup mungkin sudah ada tetapi menjalankan perintah pembuatan grup tidak ada salahnya.

sudo groupadd docker

Sekarang setelah Anda memiliki grup buruh pelabuhan, tambahkan pengguna Anda ke grup ini dengan perintah usermod. Saya berasumsi bahwa Anda mencoba melakukannya untuk akun pengguna Anda sendiri dan dalam hal ini, Anda dapat menggunakan variabel $USER.

sudo usermod -aG docker $USER

Verifikasi bahwa pengguna Anda telah ditambahkan ke grup buruh pelabuhan dengan mencantumkan pengguna grup. Anda mungkin harus keluar dan masuk kembali lagi .

[email protected]:~$ groups
abhishek adm cdrom sudo dip plugdev lpadmin sambashare docker

Jika Anda memeriksa grup Anda dan grup buruh pelabuhan tidak terdaftar bahkan setelah keluar, Anda mungkin harus memulai ulang Ubuntu . Untuk menghindarinya, Anda dapat menggunakan perintah newgrp seperti ini:

newgrp docker

Sekarang jika Anda mencoba menjalankan perintah buruh pelabuhan tanpa sudo, itu akan berfungsi dengan baik.

Pemecahan masalah lebih lanjut

Dalam beberapa kasus, Anda mungkin perlu menambahkan izin tambahan ke beberapa file khususnya jika Anda pernah menjalankan perintah buruh pelabuhan dengan sudo sebelumnya.

Anda dapat mencoba mengubah kepemilikan grup dari file /var/run/docker.sock.

sudo chown root:docker /var/run/docker.sock

Anda juga dapat mencoba mengubah kepemilikan grup direktori ~/.docker.

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R

Dan kemudian coba jalankan buruh pelabuhan dengan Sudo. Seharusnya baik-baik saja.

Saya harap tutorial kecil ini membantu Anda untuk memperbaiki “Mendapat izin ditolak saat mencoba menyambung ke soket daemon Docker di unix:///var/run/docker.sock:Get http://%2Fvar%2Frun yang mengganggu:%2Fdocker.sock/v1.39/containers/json:tekan unix /var/run/docker.sock:sambungkan:izin ditolak ” kesalahan dengan Docker di Ubuntu.

Apakah itu memperbaiki masalah untuk Anda? Jika ya, saya menyambut komentar cepat terima kasih dari Anda. Jika tidak, saya akan dengan senang hati membantu Anda memperbaiki masalah ini lebih lanjut.


Docker
  1. Cara menginstal Docker di Debian / Ubuntu

  2. Bagaimana Memperbaiki - Sudo tidak dapat menyelesaikan host di Ubuntu?

  3. Bagaimana Cara Memperbaiki Masalah Ketergantungan Di Ubuntu 16.04?

  1. Cara Menginstal Docker di Ubuntu 16.04

  2. Cara Menginstal Docker di Ubuntu 20.04 LTS

  3. kesalahan perintah 'gambar buruh pelabuhan' - "Izin Ditolak"

  1. Cara Menginstal Docker Di Ubuntu 18.04

  2. Cara memperbaiki paket yang rusak di Ubuntu 20.04

  3. Cara Menginstal Docker di Ubuntu 22.04