sim*_*ns3 10 raspberry-pi raspbian docker-compose
我正在尝试在安装了 Raspbian buster 的 Raspberry Pi 3+ 上安装 Docker-compose。我按照docker.com 上的说明进行操作。在我输入命令后:sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose。它显示了一个可供下载的表格
似乎没有下载任何内容,只是将文件docker-compose保存在/usr/local/bin/docker-compose. 打开一看,里面是空的。然后我输入命令docker-compose -v,它显示错误/usr/local/bin/docker-compose : line 1: Not: command not found。有人有解决方案吗?
F1L*_*nux 92
的上次更新curl显然不喜欢我的脚本自动下载最新版本的docker-compose. 这是重新调整的脚本,经过测试,已知可以在 Ubuntu 22.04.3 上使用。由于 GitHub 不喜欢 IPv6,所以我在
curl命令中强制使用 IPv4。
显然,如果不使用 Ubuntu,请相应地更改下载的目标路径...
#!/bin/bash
DOCKERCOMPOSECURRENTRELEASENUMBER="$(curl -4 -k --http2 https://github.com/docker/compose/releases | grep -m1 '<a href="/docker/compose/releases/download/' | awk -F/ '{print $6}')"
if [[ ! -f /usr/local/bin/docker-compose ]]; then
curl -L "https://github.com/docker/compose/releases/download/"$DOCKERCOMPOSECURRENTRELEASENUMBER"/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
fi
Run Code Online (Sandbox Code Playgroud)
尽管docker-compose可以根据已接受的答案从存储库安装,但apt-cache show docker-compose显示截至 20211201,存储库版本仅为 v1.25;比当前的 v2.1.1 版本晚了大约 2 年。为了利用更现代的 docker 文件版本,我需要让 Github 下载正常工作。
Docker-Compose 的Docker文档是错误的。他们忘记在命令中的版本号前面加上“ v ”;因此下载失败。显然这个多年来一直是错误的......
我从 Docker-Compose 文档中运行了以下命令,并根据 Docker 的指导将版本“2.1.1”替换为“1.29.1”:
要安装不同版本的 Compose,请将 1.29.2 替换为您要使用的 Compose 版本。
sudo curl -L "https://github.com/docker/compose/releases/download/2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Run Code Online (Sandbox Code Playgroud)
最终下载的 23 MB 二进制文件大小为 9 KB。显然该链接是伪造的。因此,我转到命令“https://github.com/docker/compose/releases”中使用的地址的根目录,右键单击我想要的 Docker-Compose 版本,然后选择“复制链接地址”
这表明 Docker 告诉人们使用的链接在命令的地址部分的版本号之前没有前缀“ v ”。https://
在链接中的版本号前加上“ v ”,如下所示,命令执行成功:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我也在docker-compose使用 Ubuntu 20.04 LTS 的 aarch64 二进制文件下载 Raspberry Pi。但是,针对损坏的下载地址缺少的“ v ”修复应该适用于任何平台。
小智 19
这是因为在树莓派上,命令的 url 部分导致
https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-armv7l
Run Code Online (Sandbox Code Playgroud)
查看https://github.com/docker/compose/releases/tag/1.24.1上的最新稳定版本,您可以看到该armv7l架构没有下载,因此该文件为空,因为没有可下载的内容。
一旦我弄清楚如何docker-compose在 Raspian上安装,将更新答案。
编辑:
通过apt-get。注意:目前(2019 年 11 月 8 日)这会安装 1.21 版,这不是最新的可用版本。
sudo apt-get install docker-compose
Run Code Online (Sandbox Code Playgroud)
通过pip3。(安装最新)
sudo apt-get install python3-pip
sudo pip3 install docker-compose
Run Code Online (Sandbox Code Playgroud)
然后用
sudo shutdown -r
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11143 次 |
| 最近记录: |