Machine: 问题:curl 的权限被拒绝并为 docker compose 保存

创建于 2015-02-27  ·  30评论  ·  资料来源: docker/machine

在安装 docker-compose 的说明中,您可以执行以下操作:

curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

但是你不能安装它,因为:

zsh: permission denied: /usr/local/bin/docker-compose

我不想做 sudo,因为我希望它像我以前安装和使用 docker 一样

docker <command>

没有苏...

设置它的正确方法是什么?

最有用的评论

在终止输入sudo chown -R $(whoami) /usr/local/bin

所有30条评论

我相信你的意思是https://github.com/docker/compose。 @阿南德

您很可能无法写入/usr/local/bin目录。 要么chmod / chown ,要么下载docker-compose到可写的地方,然后将sudo cp进去。

您不需要sudo来运行它,只需安装它。

我也有这个问题,我有点 linux 新手 :) 有人可以帮助我吗?

@luisrudge作曲还是机器?

哦对不起! 是用来作曲的!

@luisrudge ok np :) 介意我关闭这个吗?

是的! 谢谢!

我在docker机器上遇到了同样的问题,请将我重定向到解决方案

@joeyhipolito @aanand请帮忙

@tarun6006问题/解决方案可能相同:

您很可能无法写入/usr/local/bin目录。 要么chmod / chown ,要么下载docker-machine到可写的地方,然后将sudo cp进去。

您不需要sudo来运行它,只需安装它。

在终止输入sudo chown -R $(whoami) /usr/local/bin

哦谢谢@zhangqinghe它为我解决了问题

我发现这种方法更容易。

@zhangqinghe这解决了问题。 谢谢。

之前对我 sudo -i 解决了这个问题。

@zhangqinghe谢谢。 这解决了我的问题。

请输入
须藤 chmod -Rf 777 /usr/local/bin
这是工作

请不要这样做。 这将具有深远的权限更改,可能超出您实际想要完成的范围。

须藤 chown -R $(whoami) /usr/local/bin

请不要这样做(它会将/usr/local/bin中每个文件的所有者递归更改为您当前运行的用户)。 这太过分了。 我怎么强调都不为过。

做这样的事情很可能最终会在你的脸上爆炸。 在我的 Mac 上的/usr/local/bin ,有些文件归nathanleclaire ,有些归root 。 将它们放在那里并依赖它们的程序可能希望它保持这种状态。 上面建议的命令将完全消除这些精心布置的文件所有权。

相反,如果需要,请考虑使用此类操作。 将文件保存到您拥有的目录,然后cp / mv它。

$ curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` \
    >~/docker-compose
$ chmod +x ~/docker-compose
$ sudo mv ~/docker-compose /usr/local/bin/docker-compose

更安全,影响更小。

来自 Docker文档:

注意:如果您收到“权限被拒绝”错误,则您的 /usr/local/bin 目录可能不可写,您需要以超级用户身份安装 Compose。 运行sudo -i,然后执行下面两个命令,然后退出

nathanleclaire 的建议对我有用。 谢谢

谷歌把我带到这里......

请,请请...使用@nathanleclaire解决方案

那这个呢:
如果您想以非 root 用户身份使用 Docker,您现在应该考虑
将您的用户添加到“docker”组,例如:

sudo usermod -aG docker your-user
这是一个好主意吗?

确保 docker-compose 是可执行的(chmod +x /usr/local/bin/docker-compose)

无需弄乱/usr/local/bin所有文件的权限
不要做

须藤 chown -R $(whoami) /usr/local/bin

改为这样做

sudo -i
curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod 755 /usr/local/bin/docker-compose
exit

请使用@nathanleclaire的解决方案,它对我来说效果很好。

确保 docker-compose 是可执行的(chmod +x /usr/local/bin/docker-compose)

这适用于 Ubuntu 18.04

我发现这种方法更容易。

这对我有用:D

之前对我 sudo -i 解决了这个问题。

这(或任何其他提到sudo -i )应该是公认的答案,而不是仅仅 chown 整个 /usr/local/bin

值得一提的是:升级 Docker 后,我出现了permission denied: docker-compose错误。 一分钟前一切仍然正常,所以我的权限一切正常。

在我启动(现已升级)Docker 桌面应用程序并在询问我的管理员密码时对其进行授权后,错误消失了。 所以 Docker 自己修复了权限。

仅此代码即可解决此问题
sudo chmod +x /usr/local/bin/docker-compose

此页面是否有帮助?
0 / 5 - 0 等级