我如何升级 Docker

Ger*_*rat 127 docker

我输入 docker.io version,然后得到:

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
Run Code Online (Sandbox Code Playgroud)

我用一个apt-get update, 然后是: apt-get upgrade, or apt-get upgrade docker.io, 但它给我的只是:

docker.io is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)

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

编辑:我想我在这个帖子评论中使用了一个脚本来安装 docker(因为它声称允许我只输入 docker 而不是 docker.io)

Lar*_*Cai 152

假设是 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"
Run Code Online (Sandbox Code Playgroud)

然后就可以顺利升级到最新的docker版本了

$ sudo apt-get update

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

# install the new
$ sudo apt-get install docker-engine
Run Code Online (Sandbox Code Playgroud)

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

$ sudo apt-get install docker-engine=1.7.1-0~trusty
Run Code Online (Sandbox Code Playgroud)

对于 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
Run Code Online (Sandbox Code Playgroud)

  • 使用这种方法与我发现从 htts://get.docker.io 安装的方法相比,您有什么优点/缺点吗?我认为来自实际 docker 域的那个 * 似乎 * 更正式,但如果管理 docker-maint/testing ppa 的人是同一个人,那么也许这无关紧要。 (3认同)
  • `gpg:找不到可写的密钥环:eof` -> 使用 sudo ... (3认同)

Ger*_*rat 24

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


升级到最新版本(无需从源代码安装)的一种方法是使用Digital Ocean在此处提供的说明:

  1. 将 docker 存储库密钥添加到 apt-key 以进行包验证

    须藤 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. 使用新添加的内容更新存储库:

    须藤能力更新
  4. 最后,下载并安装docker:

    须藤 aptitude 安装 lxc-docker


Air*_*Air 13

简短的回答:官方的Docker 安装文档现在涵盖了 Ubuntu 14.04 的这一点(尽管它不是很清楚)。

命名的Ubuntu 包docker.io不是由 Docker, Inc. 维护的,将落后于最新版本。例如,今天它停留在 ,0.9.1而最新的是1.0.1。如果你有它,我会继续删除它。

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


Leo*_*cci 12

如果您信任 get.docker.com,请运行:

curl -sSL https://get.docker.com/ | sudo bash
Run Code Online (Sandbox Code Playgroud)


Fer*_*eia 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
Run Code Online (Sandbox Code Playgroud)