Tun*_*sie 8 linux amazon-ec2 amazon-web-services docker docker-compose
首先,让我声明我不是 Linux 用户中最有道德的人,所以我很赤裸裸... 下面是我所采取的所有步骤的简要概述。最终的问题是,我似乎不可能下载正确的 docker-compose 安装。
尝试了上述命令的 4 种变体来尝试安装 docker-compose。如下面的网址所示。
“第 1 行:不是:找不到命令”。
问题似乎是 docker-compose 文件的大小只有 9kb。因为这是我每次使用上述 docker-compose 安装序列时得到的结果。
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9 100 9 0 0 58 0 --:--:-- --:--:-- --:--:-- 58
Run Code Online (Sandbox Code Playgroud)
这个问题有点在这里解决:https : //github.com/docker/compose/issues/6268
据说不支持操作系统或我们正在运行 32 位实例,但似乎很奇怪,因为上述所有教程都是专门针对 AWS EC2 Linux 2 的。
fwiw 'uname -m' 返回 aarch64。
那么,有没有人知道如何获得完整版本的 docker-compose 而不是 9kb 文件?
谢谢!
小智 41
您可以按照以下步骤在Amazon Linux ec2实例上从头开始安装 Docker:
sudo yum update -y
sudo amazon-linux-extras install docker
sudo yum install docker
sudo service docker start
sudo usermod -a -G docker ec2-user
Run Code Online (Sandbox Code Playgroud)
然后从实例注销并再次登录以验证 Docker 的安装
docker info
Run Code Online (Sandbox Code Playgroud)
要安装 Docker-compose,请按照以下步骤操作:
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
Run Code Online (Sandbox Code Playgroud)
San*_*ole 10
按照链接安装 docker-compose链接
基本上,你只有以下两个步骤:
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
Run Code Online (Sandbox Code Playgroud)
Amazon Linux“只是”操作系统,但编译后的二进制文件还取决于您的处理器架构。例如,EC2 t3a系列基于x86_64架构,而新的t4g类型是aarch64(这就是我遇到与您类似的问题并最终在这里结束的原因)。uname -m
返回该标识符,在您的情况下显然是aarch64
。
由于 docker-compose github repo 不包含此架构的已发布二进制文件(与x86_64相对),因此解析的完整下载 URL 返回“未找到”正文而不是预期的二进制文件,因此在您尝试执行时会出现所描述的错误消息.
正如您已经发现的那样,有多个讨论此问题的线程。最终对我有用的唯一方法是通过 python 的 packaga 管理器pip手动安装docker -compose。由于此方法涉及几个编译步骤,因此您需要添加各种额外的 OS 包,并且在此过程中可能会遇到其他主要与依赖相关的错误。但以下步骤最终对我有用:
uname -s -m
1> Linux aarch64
cat /etc/system-release
1> Amazon Linux release 2 (Karoo)
sudo yum install -y python37 \
python3-devel.$(uname -m) libpython3.7-dev \
libffi-devel openssl-devel
# need gcc and friends
sudo yum groupinstall -y "Development Tools"
# make sure pip is up2date
sudo python3 -m pip install -U pip
python3 -m pip install docker-compose
docker-compose --version
1> docker-compose version 1.27.4, build unknown
Run Code Online (Sandbox Code Playgroud)
希望它也适用于您。祝你好运!
我尝试了这里提到的所有内容,最后,这是符号链接的问题。官方docker 页面给了我解决方案。
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
如果该命令后不起作用,请检查是否可以在 bin 文件夹中找到 docker,例如:ls /usr/local/bin/
如果你可以在那里看到 docker-compose,那么你就差不多成功了。
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
检查 docker-compose 是否存在并且 Linux 能够找到它的一个简单方法是使用 `which docker-compose,如果它链接正确,您将获得 docker-compose 的路径作为响应。
这对我在使用 Linux2 作为操作系统的 AWS EC2 实例上有用。
归档时间: |
|
查看次数: |
7339 次 |
最近记录: |