Docker-compose无法打开自身

Docker-compose无法打开自身

我正在尝试在我的计算机(Ubuntu)上安装 docker-compose,在使用 curl、wget 和 apt 多次尝试失败后,我决定从存储库下载它的目录并将其移动到 usr/local/bin/docker-compose。

但是,我一直收到错误Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg

我尝试了几种方法: - 重新安装 - 更改文件权限 - 使用 wget、curl 和 apt 安装,但不起作用。

答案1

看到同样的问题并找到了解决方案这一页,请使用以下命令:

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

在我最初无法重现的情况中,我甚至无法使用sudo rm -f /usr/local/bin/docker-compose删除原始下载的 docker-compose 文件。最后我使用sudo lsattr /usr/local/bin/docker-compose,然后sudo chattr -a /usr/local/bin/docker-compose清除阻止删除的属性。

答案2

由于您没有提供“几次失败尝试”的详细信息,我只能猜测您没有遵循正确的说明。

自 2015 年以来就存在问题github同样的。从这个问题来看,解决这个问题的方法是按照官方文档说:

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

(请查看文档当前版本号)

对于docker本身也是一样,使用官方安装文档而不是 Ubuntu 提供的软件包,它通常是过时的。

答案3

这个问题仍然存在,至少在 Ubuntu 18.04 中如此。我已经使用 curl 安装了 docker-compose,它运行良好,但过了一段时间,我不知道可执行文件是如何被修改的(我检查了一下,比较了/usr/local/bin/docker-compose下载后和下载失败后的 md5sum,发现它们是不同的)。

我已经使用 chattr 设置了可执行文件的不可变位:

chattr +i /usr/local/bin/docker-compose

目前看来,这一举措是有效的。

相关内容