我如何升级Docker


117

我输入docker.io版本,并得到:

Client version: 0.9.1
Go version (client): go1.2.1
Git commit (client): 3600720
Server version: 0.9.1
Git commit (server): 3600720
Go version (server): go1.2.1
Last stable version: 0.11.1, please update docker

我在后面加上apt-get update,然后是apt-get upgrade,或apt-get upgrade docker.io,但是给我的只是:

docker.io is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我正在运行Ubuntu 14.04(可信任)64位服务器。

编辑:我想我在此帖子注释中使用了一个脚本来安装docker(因为据称它允许我只键入docker而不是docker.io)


1
您是如何安装Docker的?
Jobin 2014年

除了将“ docker.io”二进制文件重命名为“ docker”之外,我不知道脚本的目标是什么。
Braiam

@Braiam:我也不是很确定,但是由于我对Linux O / S不太熟悉,所以我希望它做的比这有用(或者也许比重命名二进制文件更好。)。
格拉特2014年

Answers:


145

假设它是Ubuntu Trusty(14.04)发行版,正式版本为0.9.1

在2017/03/07中再次更新以反映新版本中的更改,请参阅https://blog.docker.com/2017/03/docker-enterprise-edition/

官方指南在此处为Ubuntu安装docker,旧版本具有不同的软件包名称。

  • docker.io:在默认的ubuntu仓库中曾经是非常老的版本(可以在这里跳过)
  • docker-engine:在1.13.x版本之前使用
  • docker-ce:从17.03开始

对于docker-engine

# add the new gpg key
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
# add new repo
$ sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

然后您可以顺利升级到最新的Docker版本

$ sudo apt-get update

# remove the old
$ sudo apt-get purge lxc-docker*

# install the new
$ sudo apt-get install docker-engine

如果您不想安装最新的软件包,则可以执行以下操作。

$ sudo apt-get install docker-engine=1.7.1-0~trusty

对于docker-ce

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce

3
与我从htts://get.docker.io安装的方法相比,您是否有使用此方法的利弊?我认为实际docker域中的一个似乎更正式,但是如果管理docker-maint / testing ppa的是同一个人,那么也许没关系。
格拉特,2014年

我不知道,您方法的链接有点旧,PPA是ubuntu用户的不错选择,它来自Docker Ubuntu维护团队,它也是可信任的。就像您说的那样,同样的家伙有更好的为社区服务的方式;-)
拉里·蔡

1
----------出售!
格拉特,2014年

@Gerrat如果现在就去1.0,似乎又回到了您的解决方案
拉里·蔡

3
gpg: no writable keyring found: eof->使用sudo ...
Michael Cole

22

警告:由于这是较旧的帖子,请使用官方资源来防止问题:https : //www.docker.com/community-edition#/download


升级到最新版本(不从源代码安装)的一种方法是使用说明这里通过数字海洋提供:

  1. 将docker仓库密钥添加到apt-key中以进行软件包验证

    sudo sh -c“ wget -qO- https://get.docker.io/gpg | apt-key添加-”
  2. 将docker存储库添加到aptitude源:

    sudo sh -c“ echo deb http://get.docker.io/ubuntu docker main \> /etc/apt/sources.list.d/docker.list”
  3. 使用新添加的内容更新存储库:

    sudo aptitude更新
  4. 最后,下载并安装docker:

    须藤aptitude安装lxc-docker

1
但是,这确实意味着您正在决定使用可能不太稳定的上游版本。例如,升级到上游docker 1.1.0之后,Driver aufs failed to remove root filesystem 在删除某些容器时我开始看到错误。我从未在docker.io软件包中看到过这个包,它可能在Trusty中经过了更多测试并且稳定。
Sridhar Ratnakumar 2014年

1
@Sridhar:同意。...但是,我最初进行升级的原因是,当前的“经过测试且稳定的”版本要么缺少某些关键功能(不记得现在发生了什么),要么对我来说有一些显示停止的错误。...并且您的特定投诉似乎已经存在了很长时间了:参见本页底部引用的三个相关错误:coderwall.com/p/h24pgw
Gerrat 2014年

使用官方资源进行安装,这些资源已过时。docker.com/community
edition#/

12

简短的答案:官方的Docker安装文档现在涵盖了Ubuntu 14.04的相关内容(尽管目前尚不清楚)。

Ubuntu的软件包名为docker.io不是由码头工人,公司维持并会落后于最新的版本。例如,今天停滞不前,0.9.1而最新停滞不前1.0.1。如果有的话,我会删除它。

泊坞窗包被命名为lxc-docker(容易混淆,因为LXC不再严格要求)。但是,它是最新的。您将需要将Docker拥有的存储库添加到您的apt-get设置中。Docker的官方安装文档涵盖了适用于Ubuntu 14.04的内容-查找“如果您想尝试最新版本的Docker”。注意,二进制文件将是docker(与docker.ioUbuntu提供的相反)。



8

您可以按照以下说明从第三方存储库进行安装:

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker

4

您具有最新版本的docker.io(0.9.1),该版本从今天开始在ubuntu存储库中可用于Trusty Tahr。

但是,如果您仍要升级版本,则可以从github克隆docker.io的最新版本并重新编译。有关从源代码安装它的说明,请在docker.io的博客上找到一个交互式教程


谢谢,但是我只是做了交互式教程。它没有说明从源代码安装它-它只是通过一些非常基本的docker命令。
格拉特2014年

我需要更高版本的原因是,它完全轰炸了试图运行导入映像的过程。该映像在最新的稳定版本:0.11.1上运行良好。我正在另一台计算机上运行最新的稳定版本,但我不确定如何获得它,但是不太可能从源代码编译它。可能只是另一个拥有最新稳定版本的存储库?
格拉特,2014年

您对调整内存的安装方式有所帮助。
格拉特


0

您也可以docker.io 0.11.1 .deb启动板下载文件并安装。

wget https://launchpad.net/~docker-maint/+archive/testing/+files/docker.io_0.11.1%7Edfsg1-1%7Eppa1%7Etrusty1_amd64.deb

sudo dpkg -i docker.io_0.11.1~dfsg1-1~ppa1~trusty1_amd64.deb

有趣。好像是几周前才建立的。
格拉特(Gerrat),2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.