普通权限下 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:找不到命令
因为当时图省事用pip install docker-compose装的,所以现在参考原始安装方式找出问题所在(当然,并不是真的重装一遍 ):
  • Compose 安装 Linux Linux 上我们可以从 Github上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。

  • 运行以下命令以下载 Docker Compose 的当前稳定版本:
    $ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    要安装其他版本的 Compose,请替换 1.24.1。

  • 将可执行权限应用于二进制文件:
    $ sudo chmod +x /usr/local/bin/docker-compose

  • 创建软链:
    $ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

通过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

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐