docker报错之路(2)sudo: docker-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