bba*_*ker 28 docker ubuntu-18.04
在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:
Run Code Online (Sandbox Code Playgroud)
编辑:
集团信息:
$ groups
brandon
$ groups brandon
brandon : brandon adm cdrom sudo dip plugdev games lpadmin sambashare docker
$ whoami
brandon
Run Code Online (Sandbox Code Playgroud)
更新
自从我将系统从17.04升级到18.04的原始帖子以来,我已经完成了从16.04到18.04的两次升级,后来的两个系统都没有问题.所以它可能与17.04到18.04的升级过程有关.我还没有进行新的18.04安装.
Pej*_*yri 102
只需尝试通过以下方式为 docker.sock 文件授予正确的权限:
sudo chmod 666 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
Nah*_*paz 53
sudo setfacl -m user:brandon:rw /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
不需要重新启动,并且比usermod或chown更安全
小智 35
修复它的方法是运行:
sudo addgroup --system docker
sudo adduser $USER docker
newgrp docker
Run Code Online (Sandbox Code Playgroud)
这对我行得通 :)
小智 13
将用户添加到docker组。
sudo usermod -aG docker $USER
sudo reboot
Run Code Online (Sandbox Code Playgroud)
Pra*_*K S 10
看起来像是权限问题:
sudo addgroup --system docker
sudo adduser $USER docker
newgrp docker
sudo setfacl -m "g:docker:rw" /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
或者只需使用下面的命令即可解决此问题。
sudo chmod -x /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
小智 7
我进行了快速修复,并且立即生效。
sudo chmod 777 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
小智 7
Ubuntu 18:04
sudo setfacl --modify user:$USER:rw /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
不知何故,当我安装 Docker 后对 docker.sock 没有正确的权限时,我发现了此页面。所以,如果你也有同样的问题,你可以阅读以下内容:
$ sudo adduser $USER docker 不起作用,因为该组是“root”而不是“docker”
$ ls -l /var/run/docker.sock srw-rw---- 1 root root 0 Jul 11 09:48 /var/run/docker.sock 所以应该是 $ sudo adduser $USER root
在非 snap 安装的机器上,该组是“docker”
# ls -l /var/run/docker.sock srw-rw---- 1 root docker 0 Jul 3 04:18 /var/run/docker.sock 正确的方法是,根据 docker.help 你必须运行在 sudo snap install docker 之前执行以下操作
$ sudo addgroup --system docker $ sudo adduser $USER docker $ newgrp docker 那么组将是“docker”
$ ls -l /var/run/docker.sock srw-rw---- 1 root docker 0 Jul 11 10:59 /var/run/docker.sock
来源: https: //github.com/docker-archive/docker-snap/issues/1(是的,第一期:D)
修复它的最简单方法是运行:
$ sudo setfacl -m "g:docker:rw" /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
然后,正如它已经提到的,为您的用户运行以下命令:
$sudo addgroup --system docker
$sudo adduser $USER docker
$newgrp docker
Run Code Online (Sandbox Code Playgroud)
就是这样:) 玩得开心!
| 归档时间: |
|
| 查看次数: |
16676 次 |
| 最近记录: |