Docker compose 如何将docker compose升级到最新版本
我已经使用命令安装了docker composeDocker compose 如何将docker compose升级到最新版本,docker-compose,Docker Compose,我已经使用命令安装了docker compose sudo-apt-install-docker-compose 它安装了docker compose 1.8.0版,构建未知 我需要最新版本的docker compose或至少1.9.0版本 任何人都可以让我知道我应该采取什么方法来升级它或卸载和重新安装最新版本 我已经查看了docker网站,可以看到他们建议安装最新版本的 sudo curl-Lhttps://github.com/docker/compose/releases/download
sudo-apt-install-docker-compose
它安装了docker compose 1.8.0版,构建未知
我需要最新版本的docker compose或至少1.9.0版本
任何人都可以让我知道我应该采取什么方法来升级它或卸载和重新安装最新版本
我已经查看了docker网站,可以看到他们建议安装最新版本的
sudo curl-Lhttps://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。首先,删除旧版本:
如果通过apt get安装
sudo apt-get remove docker-compose
如果通过curl安装
sudo rm /usr/local/bin/docker-compose
如果通过pip安装
pip uninstall docker-compose
然后,通过卷曲API并使用grep
或jq
从响应中提取版本来查找最新版本(感谢这些改进):
最后,下载到您最喜欢的$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
要为Docker Compose安装和升级提供永久性和可持续的解决方案,最简单的方法是使用: 我一直在寻找一个解决“如何升级到最新版本号”这个丑陋问题的好办法,这个问题是在你阅读了官方文件之后出现的——只是偶尔会发现——看看——它应该反映(大部分)当前的版本号
如果要管理软件安装,软件包管理器始终是最好的解决方案!因此,您只需从自己处理版本中提取信息。如果上述方法不适用于您,请参考以下答案:
根据@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获取最新版本。从命令行使用它:
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
在研究了很多执行方法之后,我最终使用了
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
如果您有自制软件,也可以通过
brew
$ brew install docker-compose
这是一种在Mac OS系统上安装的好方法下面是另一个使用curl和sed安装最新版本docker compose的oneliner
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
在UbuntuDesktop 18.04.2上,当使用curl命令安装软件包时,我将“local”从路径中删除,它对我有效。请参见上述Kshitij的答案。如果您尝试了
sudo apt get remove docker compose
并获得E:无法找到包docker compose
,请尝试以下方法:
此命令必须返回一个结果,以便检查它是否安装在此处:
ls -l /usr/local/bin/docker-compose
sudo rm -rf docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
删除旧版本:
ls -l /usr/local/bin/docker-compose
sudo rm -rf docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
下载最新版本(查看官方回购:):
(如果需要,更换1.24.0)
最后,对二进制文件应用可执行权限:
ls -l /usr/local/bin/docker-compose
sudo rm -rf docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
检查版本:
ls -l /usr/local/bin/docker-compose
sudo rm -rf docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
如果安装了pip,要升级,只需使用:
pip install --upgrade docker-compose
或者正如Mariyo在pip3中明确指出的那样:
pip3 install --upgrade docker-compose
我试图在“Ubuntu16.04.5LTS”上安装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编写:权限被拒绝
当我与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
分三步做。(显示apt get安装)
sudo apt get remove docker compose
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
然后
docker compose--version
这些解决方案中的大多数已经过时,或者让您安装旧版本。 安装最新的
sudo apt安装jq
DOCKER_COMPOSE_VERSION=$(卷曲--静默)https://api.github.com/repos/docker/compose/releases/latest |jq.name-r)
sudo curl-L“https://github.com/docker/compose/releases/download/$DOCKER\u COMPOSE\u VERSION/DOCKER COMPOSE-$(uname-s)-$(uname-m)“-o/usr/local/bin/DOCKER COMPOSE
sudo chmod+x/usr/local/bin/docker组合
对于Mac 3.3.0的Docker Desktop,您不需要将Docker Compose作为单独的软件包安装。默认情况下,Docker Compose作为一级公民随Docker一起安装。查看以下CLI:
docker compose version
Docker Compose version 2.0.0-beta.1%
虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-@Luuklag更新了答案。感谢您的建议在/usr/local/bin/docker-compose中更新option路径似乎非常慢,然后运行
sudo-chmod+x/usr/bin/docker-compose
无需移动文件。/usr/local/bin
路径应该已经在$path
中。只是chmo