参考文档:

记一次sudo dokcer-compose报错(含安装方法)

场景再现:
普通权限下 docker-compose 正常

➜   docker-compose -v
docker-compose version 1.29.2, build unknown

但是 docker-compose up ... 某个yml文件时,提示权限不够

docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))

尝试使用超级权限 sudo docker-compose up ,竟然提示找不到命令!

➜  sudo docker-compose up
sudo: docker-composi:找不到命令

原因有两种:
原因1:yum安装后,通过whereis docker-compose 查看路径,只在/usr/local/bin/docker-compose目录下生成,而 /usr/bin/docker-compose没有
cp命令将docker-compose复制过去就可以了

➜  whereis docker-compose
docker-compose: /usr/local/bin/docker-compose

# 那么问题就好解决了,直接复制一份过去完事
➜  sudo cp -r  /usr/local/bin/docker-compose  /usr/bin/docker-compose

# 最后验证一下,完美解决!
➜   sudo docker-compose -v
docker-compose version 1.29.2, build unknown
https://blog.csdn.net/qq_40933467/article/details/117868118

原因2:pip 安装后,通过whereis docker-compose 查看路径,对比以上命令发现:我的路径中居然少了/usr/local/bin/docker-compose,而这个路径恰恰是原始安装命令中的关键部分。

➜  whereis docker-compose
docker-compose: /usr/bin/docker-compose  /home/monicedy/anaconda3/bin/docker-compose

# 那么问题就好解决了,直接复制一份过去完事
  sudo cp /home/monicedy/anaconda3/bin/docker-compose  /usr/local/bin/docker-compose

# 最后验证一下,完美解决!
➜   sudo docker-compose -v
docker-compose version 1.29.2, build unknown
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐