在Linux上使用docker-compose时出现权限被拒绝的问题。

47
(base) a@a-ThinkPad-T440:~$ docker-compose version
bash: /usr/local/bin/docker-compose: Permission denied

我在使用docker-compose时遇到了大问题,我尝试使用curl升级docker-compose1.25,但现在我对docker-compose没有权限(我使用的是Linux Ubuntu系统)。


1
你是如何使用curl升级docker-compose的?你运行了什么命令? - Shubham
1
你尝试如何升级docker-compose?/usr/bin/docker-compose --version是否有效? - KamilCuk
3
我曾经遇到过类似的问题,按照Linux安装步骤操作后,自动创建的docker组没有获得执行docker-compose的权限。对我来说,以下操作解决了这个问题(而且不会向任何用户开放):sudo usermod -aG docker $USER将自己添加到docker组中,sudo chgrp docker /usr/local/bin/docker-compose将docker-compose分配给docker组,sudo chmod 750 /usr/local/bin/docker-compose允许docker组用户执行它。 - user56reinstatemonica8
1
这个问题是关于“主要由程序员使用的软件工具”,所以也许问题关闭警察需要放松一点。 - Greg Woods
1个回答

107

据我所理解,您正在使用 Docker 的源代码安装 docker-compose,并且您忘记了第二步。请参阅完整安装的源代码

如第二步所述,请对二进制文件应用可执行权限:

sudo chmod +x /usr/local/bin/docker-compose;

除了问题中提供的评论之外

sudo usermod -aG docker $USER                  # to add myself to docker group
sudo chgrp docker /usr/local/bin/docker-compose     # to give docker-compose to docker group,
sudo chmod 750 /usr/local/bin/docker-compose   # to allow docker group users to execute it

你可能想尝试运行newgrp docker


6
出于未知的原因,我需要重新启动之后才能使上述内容起作用。 - shad0w_wa1k3r
3
我找到的更新文档告诉你,在进行组更改后,你需要重新启动或运行 su - $USER。你也可以注销然后再登录。这是非常标准的操作,任何时候当你进行权限更改时,只有在下一次登录后才能反映出来。 - Stephan Samuel
2
在我的情况下,我还需要执行以下操作:https://dev59.com/Y1MI5IYBdhLWcg3wNIog#68464690 - Koray
3
我在这里找到了安装说明:https://docs.docker.com/engine/install/linux-postinstall/。 - lesolorzanov
当您创建并将自己添加到Docker组时,您可能还想重新启动Docker守护程序。 - The Nerdy Geek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接