Ubuntu Docker:下载存储库
我需要下载Ubuntu Docker:下载存储库,ubuntu,docker,Ubuntu,Docker,我需要下载dockerrepository和我首先尝试执行的第一件事情 docker pull [OPTIONS] NAME[:TAG|@DIGEST] 在那之后我有 Warning: failed to get default registry endpoint from daemon (Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.soc
docker
repository和我首先尝试执行的第一件事情
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
在那之后我有
Warning: failed to get default registry endpoint from daemon (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.37/info: dial unix /var/run/docker.sock: connect: permission denied). Using system default: https://index.docker.io/v1/
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.37/images/create?fromImage=altinsky%2Fconvai&tag=deeppavlov: dial unix /var/run/docker.sock: connect: permission denied
第二件事第二次我试着加入这个小组
sudo usermod -a -G docker $USER
此命令后没有错误。
但是当我试着用
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.37/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'
我怎样才能解决这个问题?
ubuntu版本
-ubuntu16.04.4lts
您应该在延长权限后重新启动系统。实际上,注销/登录就足够了
如果问题没有解决并且服务正在运行,只需为all添加PERM即可
sudo chmod 666 /var/run/docker.sock
还是只为你
sudo chown $USER:docker /var/run/docker.sock
添加docker组 添加
docker
组就可以了,但是不要忘记注销和登录,因为在执行usermod
命令后需要刷新权限,这可能是您错过的步骤
sudo
您还可以使用sudo
运行它
或者,通过使用
visudo
命令编辑/etc/sudoers
,您可以允许自己运行docker privileged,而无需每次键入密码。添加一行,如your user ALL=(ALL)NOPASSWD:/path/to/your/docker/bin
,请注意将其添加到底部,否则可能会被覆盖。在扩展权限后是否重新启动系统?是否确定dockerd
守护进程正在运行?例如,如果您在容器内执行docker pull,您应该使用--privileged
模式运行它。如果您正在主机中执行docker pull
,我会检查docker守护进程是否正在运行。docker组是否存在?此输出给您什么<代码>sudo服务docker状态。您似乎无法连接到Docker套接字,这可能是因为Docker守护进程未运行。如果您刚刚将用户添加到组中,请退出shell并在新的shell中重试,仅在将用户添加到组中后,它将不起作用。@gcharbonActive:Active(running)since,因为СП2018-07-11 10:35:56 MSK代码>更改套接字的所有者和权限是一个糟糕的建议。你应该确保你是访问它的正确组的成员,但除此之外,不要弄乱它。将自己添加到docker
组比所有docker访问都需要完全根访问更安全、更符合人体工程学。@tripleee>上面介绍的Sudoers行与将docker组添加到用户中的作用几乎相同,除了需要您在前面键入sudo
之外,不需要密码,它不是完全的根用户访问权限,在执行docker bin时只有超级用户访问权限。我很确定两者之间没有区别,因为你对docker bin做的任何事情都必须经过docker.sock。我自己更喜欢添加docker组,以避免键入sudo。“超级用户”只是root
的非正式同义词。通过sudo
意味着如果Docker中存在漏洞,您可以获得并保留root权限,而作为组成员,您可以自己执行所有操作,而无需在任何时候提升权限。这也使得跟踪谁在多用户系统上做了什么变得更加容易,并且避免了让使用Docker的任何其他人都可以有效地读写您的私有Docker文件。当然,大家都同意,IMHO Docker在安全方面是不可依赖的。我将依靠它下面的层@三重胎