Linux使用curl 方式安装docker-compose 后执行docker-compose version 检查安装是否成功时出错的解决办法

时间:2024-06-15 12:05:14

0x0.缘起:

今天在一台新的Fedora 25上按照官方文档,使用curl方式安装 docker-compose后,验证是否安装成功时出错:

安装时使用的命令为;

curl -L https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-`uname -s`-`ur/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

我试着把文件设置为777权限也一样不能解决问题。

[root@fd240 bin]# ll
總計 8076
-rwxrwxrwx. 1 root root 8268354 6月 19 14:58 docker-compose

错误:

[root@fd240 bin]# ./docker-compose
Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg

0x1.解决办法:

进入下面的网址下载目前的最新版:

https://github.com/docker/compose/releases/tag/1.14.0-rc2

网页拉到最下面,下载:

docker-compose-Linux-x86_64

然后将文件上传到 /usr/local/bin/ 文件夹下,然后将其重命名为docker-compose,修改此文件的权限,增加可执行:chmod +x /usr/local/bin/docker-compose

然后再运行

[root@fd240 bin]# docker-compose version
docker-compose version 1.14.0-rc2, build 24dae73
docker-py version: 2.3.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016

可以看到已经没有问题了。

0x2.原因:

使用官方文档中所描述的方法:

curl -L https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

安装时,curl下载下来的文件是不完整的,而且没有给出任何错误信息。我猜测是https的问题,没有深究。

可以看到我通过curl下载的文件比使用浏览器下载后又上传到服务器上的文件大小要小:

[root@fd240 bin]# ll
總計 16164
-rwxr-xr-x. 1 root root 8278064 6月 19 15:21 docker-compose
-rwxrwxrwx. 1 root root 8268354 6月 19 14:58 docker-compose-curl