Ubuntu 18.04のアップデート後に突然問題が発生しました。以前はシステムで問題なくdockerを使用していましたが、突然できません。私が知る限り、許可は正しいように見えます:
$ docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
$ ls -last /var/run/docker.sock
0 srw-rw---- 1 root docker 0 Jul 14 09:10 /var/run/docker.sock
$ whoami
brandon
$ cat /etc/group | grep docker
docker:x:995:brandon
nvidia-docker:x:994:
編集:
グループ情報:
$ groups
brandon
$ groups brandon
brandon : brandon adm cdrom Sudo dip plugdev games lpadmin sambashare docker
$ whoami
brandon
更新
私がシステムを17.04から18.04にアップグレードした最初の投稿以来、16.04から18.04に2回アップグレードしましたが、後のシステムには問題がありませんでした。したがって、17.04から18.04へのアップグレードプロセスに関係している可能性があります。 18.04の新規インストールをまだ実行していません。
Sudo setfacl -m user:brandon:rw /var/run/docker.sock
再起動を必要とせず、usermodやchownよりも安全です
ユーザーをdockerグループに追加します。
Sudo usermod -aG docker $USER
Sudo reboot
私は簡単な修正を行い、すぐに機能しました。
Sudo chmod 777 /var/run/docker.sock
実行:Sudo docker run -it -p 8889:8888 -v/home/Documents/pa1:/ home/ucsddse230/work ucsddse230/cse255-dse230/bin/bash
そして、それは私のために働く、与えられた:
ucsddse230 @ 50f69cc7cb0a:〜/ work $
Ubuntuに固有の、lightdmには、GUIログインの一部としてユーザーからセカンダリグループを削除する既知の問題があります。ここでその問題をフォローできます: https://bugs.launchpad.net/lightdm/+bug/1781418
Lightdmをオフにするか、バグレポートに記載されている回避策を適用してください。
[/etc/pam.d/lightdmから以下の行をコメントアウトします:]
auth optional pam_kwallet.so auth optional pam_kwallet5.so
一時的なオプションには、sshやsu -l
コマンドなどを使用したマシンへのログイン、またはnewgrp docker
コマンドの実行が含まれます。これらは現在のシェルにのみ影響し、新しいターミナルごとに再度実行する必要があります。
この問題以外では、ユーザーにドッカーソケットへの直接アクセス(およびホストへのルートアクセス)を提供する一般的なコマンドは次のとおりです。
Sudo usermod -aG docker $(id -un) # you can often use $USER in place of the id command
newgrp docker # affects the current Shell, logging out should affect all shells