Docker-compose 无法打开 self

Dav*_*ien 7 docker

我正在尝试在我的计算机(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 安装,但它不起作用。

小智 7

看到同样的问题并从此页面找到解决方案,改为使用以下内容:

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
Run Code Online (Sandbox Code Playgroud)

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


pLu*_*umo 2

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

github上 2015 年就存在一个关于同一问题的问题。从这个问题来看,解决的方法似乎就是按照官方文档所说的那样安装:

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
Run Code Online (Sandbox Code Playgroud)

(请在文档中查找当前版本号)

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


小智 1

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

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

chattr +i /usr/local/bin/docker-compose
Run Code Online (Sandbox Code Playgroud)

目前来看,这似乎有效。