Linux使用curl 方式安装docker-compose 后执行docker-compose version 检查安装是否成功时出错的解决办法
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
网页拉到最下面,下载:
然后将文件上传到 /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