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

时间:2018-04-15 06:12:29

标签: docker-compose

我已使用命令

安装了docker-compose

sudo apt install 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。

15 个答案:

答案 0 :(得分:38)

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

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 755 $DESTINATION

答案 1 :(得分:11)

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

pip install docker-compose

我正在为丑陋的“如何升级到最新版本号”-problem寻找一个很好的解决方案,这个问题出现在您阅读官方文档之后 - 偶尔发现它 - 只是看看{ {3}} - 它应该(大部分)反映docker-compose pip package的当前数量。

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

答案 2 :(得分:10)

基于@ 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中获取最新版本。

答案 3 :(得分: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

答案 4 :(得分:2)

我试图在“ Ubuntu 16.04.5 LTS”上安装docker-compose,但是在安装后像这样:

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

我得到了:

-bash:/ usr / local / bin / docker-compose:权限被拒绝

当我在sudo中使用它时,我得到了:

sudo:docker-compose:找不到命令

这是我采取的解决问题的步骤:

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose

答案 5 :(得分:2)

分三步做。 (显示为 apt-get 安装)

  1. 卸载最后一个。例如用于 apt-get 安装
<块引用>

sudo apt-get remove docker-compose

  1. 安装新的 (https://docs.docker.com/compose/install/)
<块引用>

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

然后

<块引用>
 sudo chmod +x /usr/local/bin/docker-compose
  1. 检查您的版本
<块引用>

docker-compose --version

答案 6 :(得分:1)

这是另一个使用curl和sed安装最新版本的docker-compose的人。

curl -L "https://github.com/docker/compose/releases/download/`curl -fsSLI -o /dev/null -w %{url_effective} https://github.com/docker/compose/releases/latest | sed 's#.*tag/##g' && echo`/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

答案 7 :(得分:0)

从命令行使用此命令: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

答案 8 :(得分:0)

经过大量研究,我最终使用jq,希望我可以扩展它以处理Docker-Compose以外的其他仓库,而无需太多工作。

# 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

答案 9 :(得分:0)

如果您有自制软件,也可以通过brew

安装
$ brew install docker-compose

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

答案 10 :(得分:0)

在ubuntu桌面18.04.2上,使用curl命令安装软件包时,我从路径中删除了“本地”文件,它对我有用。参见上述Kshitij的回答。

答案 11 :(得分:0)

如果您尝试过sudo apt-get remove docker-compose并获得了E: Unable to locate package docker-compose,请尝试以下方法:

此命令必须返回结果,以检查它是否安装在这里:

ls -l /usr/local/bin/docker-compose

删除旧版本:

sudo rm -rf docker-compose

下载最新版本(请查看官方仓库:docker/compose/releases):

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

如果需要请替换1.24.0

最后,将可执行权限应用于二进制文件:

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

检查版本:

docker-compose -v

答案 12 :(得分:0)

如果使用pip进行安装,则可以使用以下方法进行升级:

 pip install --upgrade docker-compose

答案 13 :(得分:0)

这些解决方案中的大多数已经过时或需要您安装旧版本。 安装最新版

sudo apt  install jq

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

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

答案 14 :(得分:0)

使用更新的 Docker Desktop for Mac 3.3.0,您无需将 Docker Compose 作为单独的软件包安装。默认情况下,Docker Compose 作为一等公民与 Docker 一起安装。查看以下 CLI:


docker compose version
Docker Compose version 2.0.0-beta.1%