首页 文章

如何将docker-compose升级到最新版本

提问于
浏览
9

我已经使用命令安装了docker-compose

sudo apt安装docker-compose

它安装了docker-compose版本1.8.0并构建未知

我需要最新版本的docker-compose或至少1.9.0版本

任何人都可以让我知道我应该采取什么方法来升级或卸载并重新安装最新版本 .

我检查了docker网站,可以看到他们建议安装最新版本'

sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose- $(uname -s) - $(uname -m)-o / usr / local / bin / docker-compose

但在此之前,我必须卸载当前版本,可以使用该命令完成

sudo rm / usr / local / bin / docker-compose

但这只能在使用curl完成安装时使用 . 我不确定安装是否由我使用的curl完成

“sudo apt install docker-compose” .

请让我知道我现在应该做什么来卸载并重新安装docker-compose .

7 回答

  • 0

    如果你想关注the instructions on the Docker site,你应该删除现有的docker-compose

    sudo apt-get remove docker-compose
    

    然后在the release page at GitHub上找到最新版本,或者如果安装了 jq 则通过卷曲API(感谢dragon788frbl进行此改进):

    VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
    

    然后下载并更改您最喜欢的$ PATH可访问位置的权限:

    DESTINATION=/usr/local/bin/docker-compose
    sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
    sudo chmod +x $DESTINATION
    
  • 0

    基于@ eric-johnson的回答,我目前正在脚本中使用它:

    #!/bin/bash
    compose_version=$(curl https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
    output='/usr/local/bin/docker-compose'
    curl -L https://github.com/docker/compose/releases/download/$compose_version/docker-compose-$(uname -s)-$(uname -m) -o $output
    chmod +x $output
    echo $(docker-compose --version)
    

    它从GitHub api中获取最新版本 .

  • 6

    如果上述方法不适合您,请参考以下答案:https://stackoverflow.com/a/40554985

    curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" > ./docker-compose
    sudo mv ./docker-compose /usr/bin/docker-compose
    sudo chmod +x /usr/bin/docker-compose
    
  • 0

    为Docker Compose安装及其升级方法提供永久和可持续解决方案的最简单方法是使用package manager pip(如果您在Linux上):

    pip install docker-compose
    

    我正在为丑陋的"how to upgrade to the latest version number" -problem寻找一个很好的解决方案,这个问题出现在您阅读官方文档之后 - 偶尔发现它 - 只是看看docker-compose pip package - 它应该反映(大多数)当前的数字latest released Docker Compose version .

    如果要管理软件安装,软件包管理器始终是最佳解决方案!所以你只需从自己处理版本中抽象出来 .

  • 2

    从命令行使用此命令: sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    写下最新版本

    对二进制文件应用可执行权限:

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

    然后测试版本:

    $ docker-compose --version
    
  • 3

    在经历了很多方法来执行此操作之后,我最终使用了 jq ,希望我可以扩展它以处理除Docker-Compose之外的其他repos而不需要太多工作 .

    # If you have jq installed this will automatically find the latest release binary for your architecture and download it
    curl --silent "https://api.github.com/repos/docker/compose/releases/latest" | jq --arg PLATFORM_ARCH "$(echo `uname -s`-`uname -m`)" -r '.assets[] | select(.name | endswith($PLATFORM_ARCH)).browser_download_url' | xargs sudo curl -L -o /usr/local/bin/docker-compose --url
    
  • 10

    如果你有自制软件,你也可以通过 brew 安装

    $ brew install docker-compose
    

    这是在Mac OS系统上安装的好方法

相关问题