繁体   English   中英

在 Ubuntu 上安装最新的 docker compose

[英]Installing latest docker compose on Ubuntu

我使用以下命令为我的 ubuntu 服务器安装最新的 docker compose:

curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

如何使这个版本不可知。 例如,这样我就不必输入 go 并继续更改版本 - 在本例中为1.21.2 如何更改命令以使其获得最新的稳定版本?

如何更改命令,使其获得最新的稳定版本?

您可以尝试以下操作:

curl -L https://github.com/docker/compose/releases/download/`curl -Ls -o /dev/null -w %{url_effective} https://github.com/docker/compose/releases/latest | awk -F / '{print $NF}'`/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

这与您的脚本相同,只是在多个步骤中用最新标记替换了实际版本(在您的情况下为1.21.2):

  • 首先,我们获取最新的稳定重定向URL:

     curl -Ls -o /dev/null -w %{url_effective} https://github.com/docker/compose/releases/latest 

    目前它解析为https://github.com/docker/compose/releases/tag/1.21.2

  • 然后我们从重定向URL中获取版本标记:

     | awk -F / '{print $NF}' 

    目前解析为1.21.2

  • 最后,我们使用您的原始curl语句代替版本号执行它。 请注意,如果未正确重定向最新标签并增加了一些额外的复杂性,但会根据请求自动执行版本提取,则此操作可能会中断。

根据https://docs.docker.com/compose/release-notes/接受的答案不是最新的稳定版本(返回 v2 而不是我正在寻找的最新 v1)

这是我一起去的怪物

rm -Rf /usr/local/bin/docker-compose && version=$(curl -s https://docs.docker.com/compose/release-notes/ | grep "Docker Compose release notes" | grep "Estimated reading time" | sed 's/.*id=//g' | sed 's/<.*$//g' | sed 's/.*>//g') && curl -L https://github.com/docker/compose/releases/download/${version}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM