Saya telah menginstal Docker melalui toko Perangkat Lunak, yang menunjukkan bahwa itu adalah paket Snap. Yang menurut saya baik-baik saja, tetapi sayangnya, setiap perintah Docker yang saya coba tidak berfungsi:
$ docker info
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.30/info: dial unix /var/run/docker.sock: connect: permission denied
Adakah yang tahu bagaimana cara memperbaikinya?
Sunting: Saya telah mengatasi ini untuk saat ini dengan menginstal Docker dari repositori Docker sendiri , yang mungkin dapat digunakan untuk orang yang meramban pertanyaan ini di masa mendatang. Saya membiarkan pertanyaan terbuka untuk mereka yang ingin dapat menjalankannya dari Snap, meskipun.
16.04
ubuntu-gnome
snap
docker
Vincent
sumber
sumber
docker
grup,id -nG
tidak menunjukkan buruh pelabuhan dandocker
perintah apa pun mengakibatkan kesalahan izin ditolak. Logout dan kembali tidak berfungsi karena proses sistem buruh pelabuhan terus berjalan. Sistem reboot atau memulai ulang buruh pelabuhan menunjukkan pengguna sebagai bagian dari kelompok buruh pelabuhan dan diizinkan menjalankan perintah buruh pelabuhan. CATATAN: 0 rep, tidak dapat menambahkan komentar.Jawaban:
Ini dari halaman GitHub, apakah Anda mencoba langkah-langkah ini:
Dari Docker snap github
sumber
addgroup
instruksi, yang saya pikir adalah tentang apa yang saya lakukan, sesuai dengan jawaban lainnya. Sayangnya saya lebih suka untuk tidak menyentuh sistem yang sedang bekerja lagi, tetapi saya ingin mendengarnya jika orang lain mencoba ini dan berhasil membuatnya bekerja.Pesan kesalahan memberitahu Anda bahwa pengguna Anda saat ini tidak dapat mengakses mesin buruh pelabuhan, karena Anda tidak memiliki izin untuk mengakses soket unix untuk berkomunikasi dengan mesin.
Solusi sementara
Menggunakan
sudo
perintah untuk menjalankan perintah dengan izin tinggi setiap kali.Solusi permanen (disarankan)
Tambahkan pengguna saat ini ke
docker
grup. Ini bisa dicapai dengan mengetikAnda harus keluar dan masuk lagi agar keanggotaan grup berlaku.
Sumber: techoverflow.net
sumber
docker
grup itu tidak ada. Saya kemudian pertama berlarisudo addgroup docker
dan kemudian mengulang perintah Anda, kemudian login dan masuk lagi. Sayangnya, kesalahan yang ditampilkan dalam pertanyaan tetap ada ...newgrp docker
atau logout dan masukgroups vincent
memberi:vincent adm cdrom sudo dip plugdev lpadmin sambashare docker
sudo /etc/init.d/docker status
atausudo service docker status
coba ini.ps cax | grep dockerd
memang memberi31034 ? Ssl 0:05 dockerd
.Saya berasumsi, nama pengguna Anda sudah dalam grup buruh pelabuhan. Untuk memeriksanya, berikan perintah di bawah ini.
Jika tidak, Anda perlu menambahkan pengguna Anda ke grup buruh pelabuhan dengan perintah di bawah ini.
Ketika Anda menjalankan perintah
sudo systemctl start docker
, itu menciptakan proses buruh pelabuhan. Proses buruh pelabuhan itu berisidockerd
daemon thread. Perintah ini juga membuatdocker.sock
soket Unix standar . Thedocker.sock
socket terus didengarkan olehdockerd
benang daemon. Ini membuat Anda dapat melakukan IPC tingkat kernel dengandocker.pid
proses. Untuk dapat menggunakan soket buruh pelabuhan ini, Anda harus memiliki izin yang sesuai dari level proses (docker.pid
) dan level file (docker.sock
). Jadi, menjalankan dua perintah di bawah ini akan menyelesaikan masalah Anda.sudo chmod a+rwx /var/run/docker.sock # You can provide just execute permission sudo chmod a+rwx /var/run/docker.pid
sumber
tidak memerlukan restart dan lebih aman
sumber
Anda harus menambahkan pengguna ke grup Docker ( lihat dokumen resmi ).
Anda dapat menambahkan
sudo
di depan perintah atau Anda dapat menambahkan pengguna dalamdocker
grup dengan menggunakan perintah ini:Logout dan log in kembali sehingga keanggotaan grup Anda dievaluasi kembali.
sumber