获取适用于 Debian 的 Docker CE

预计阅读时间: 5 分钟

如需开始在 Debian 上使用 Docker CE,请确保您满足先决条件,然后再安装 Docker

先决条件

Docker EE 客户

Debian 不支持 Docker EE。如需受支持操作系统的列表以及用于不同 Docker 版本的分发版,请参阅 Docker 不同版本

操作系统要求

如需安装 Docker CE,您需要以下 Debian 或 Raspbian 版本之一的 64 位版本:

  • Stretch(稳定)
  • Jessie 8.0 (LTS) / Raspbian Jessie
  • Wheezy 7.7 (LTS)

对于 Jessie 和 Stretch,x86_64armhf 架构都支持 Docker CE。

卸载旧版本

Docker 的早期版本称为 dockerdocker-engine。如果安装了这些版本,请卸载它们:

$ sudo apt-get remove docker docker-engine docker.io

如果 apt-get 报告未安装任何这些软件包,这表示情况正常。

将保留 /var/lib/docker/ 的内容,包括镜像、容器、存储卷和网络。Docker CE 软件包现在称为 docker-ce

用于 Wheezy 7.7 的额外步骤

  • 您至少需要版本为 3.10 的 Linux 内核。Debian Wheezy 随版本 3.2 一起提供,因此您可能需要更新内核。如需检查您的内核版本,请运行以下命令:

    $ uname -r
    
  • 启用 backports 镜像仓库。请参阅 Debian 文档

安装 Docker CE

您可以通过不同方式安装 Docker CE,具体取决于您的需求:

  • 大多数用户设置 Docker 的镜像仓库并从中进行安装,从而可以轻松完成安装和升级任务。这是推荐方法。

  • 一些用户下载 DEB 软件包并手动进行安装,然后完全由手动管理升级。在某些情况(例如,在不能访问互联网的隔离系统中安装 Docker)下,这很有用。

使用镜像仓库进行安装

首次在新的主机上安装 Docker CE 之前,您需要设置 Docker 镜像仓库。然后,您可以从此镜像仓库安装和更新 Docker。

设置镜像仓库

  1. 更新 apt 软件包索引:

     $ sudo apt-get update
    
  2. 安装软件包,以允许 apt 通过 HTTPS 使用镜像仓库:

    Jessie 或 Stretch

     $ sudo apt-get install \
          apt-transport-https \
          ca-certificates \
          curl \
          gnupg2 \
          software-properties-common
    

    Wheezy

     $ sudo apt-get install \
          apt-transport-https \
          ca-certificates \
          curl \
          python-software-properties
    
  3. 添加 Docker 的官方 GPG 密钥:

     $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
    

    验证密钥 ID 是否为 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

     $ sudo apt-key fingerprint 0EBFCD88
    
     pub   4096R/0EBFCD88 2017-02-22
           Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
     uid                  Docker Release (CE deb) <docker@docker.com>
     sub   4096R/F273FCD8 2017-02-22
    
  4. 使用下列命令设置 stable 镜像仓库。您始终需要使用 stable 镜像仓库,即使您还需要通过 edgetesting 镜像仓库安装构建也是如此。如需添加 edgetesting 镜像仓库,请在以下命令中的词 stable 之后添加词 edge 和/或 testing

    :下面的 lsb_release -cs 子命令用于返回您的 Debian 分发版,例如 jessie

    另外,如需要添加 edge 镜像仓库,请在命令的最后一行上的 stable 之后添加 edge

    amd64

     $ sudo add-apt-repository \
        "deb [arch=amd64] https://download.docker.com/linux/debian \
        $(lsb_release -cs) \
        stable"
    

    armhf

     $ echo "deb [arch=armhf] https://download.docker.com/linux/debian \
          $(lsb_release -cs) stable" | \
         sudo tee /etc/apt/sources.list.d/docker.list
    
  5. 仅限 Wheezy:Wheezy 上的 add-apt-repository 版本用于添加不存在的 deb-src 镜像仓库。您需要将此镜像仓库注释掉,否则运行 apt-get update 将失败。编辑 /etc/apt/sources.list。查找类似于以下内容的行,并将其注释掉或删除:

     deb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable
    

    保存并退出文件。

    :从 Docker 17.06 开始,还会将 stable 版本推送到 edgetesting 镜像仓库。

    了解 stableedge 渠道

安装 Docker CE

:在 Debian for ARM 上,您可以继续完成此步骤。对于 Raspbian, 向下滚动以完成其特定步骤。

  1. 更新 apt 软件包索引。

     $ sudo apt-get update
    
  2. 安装最新版本的 Docker CE,或者转至下一步以安装特定版本。将替换任何现有的 Docker 安装版本。

     $ sudo apt-get install docker-ce
    

    警告: 如果您启用了多个 Docker 镜像仓库,进行安装 或者更新而不在 apt-get installapt-get update 命令中指定版本将始终安装可用的最高版本, 这可能无法满足您的稳定性需求。

  3. 在生产系统中,您应该安装特定版本的 Docker CE,而不是始终使用最新版本。此输出将被截断。列出可用版本:

     $ apt-cache madison docker-ce
    
     docker-ce | 17.06.0~ce-0~debian-jessie | https://download.docker.com/linux/debian jessie/stable amd64 Packages
    

    此列表的内容取决于启用了哪些镜像仓库,并且将特定于您的 Debian 版本(在本示例中,由版本中的 jessie 后缀表示)。选择一个特定版本进行安装。第二列为版本字符串。第三列为镜像仓库名称,它表示软件包来自哪个镜像仓库并按扩展其稳定性级别列出。如需安装特定版本,请将版本字符串附加到软件包名称,并使用等号 (=) 分隔它们:

     $ sudo apt-get install docker-ce=<VERSION_STRING>
    

    Docker 守护进程将自动启动。

  4. 验证是否正确安装了 Docker CE,方法是运行 hello-world 镜像。

    amd64

     $ sudo docker run hello-world
    

    armhf

     $ sudo docker run armhf/hello-world
    

    此命令将下载一个测试镜像并在容器中运行它。容器运行时,它将输出一条参考消息并退出。

Docker CE 已安装并且正在运行。您需要使用 sudo 运行 Docker 命令。继续执行 Linux 安装后步骤以允许非特权用户运行 Docker 命令,以及了解其他可选配置步骤。

升级 Docker CE

如需升级 Docker CE,首先运行 sudo apt-get update,然后按照安装说明执行操作,并选择您要安装的新版本。

在 Raspbian (Raspberry Pi) 上安装

警告:如果您使用推荐的 $ curl -sSL https://get.docker.com | sh 命令,此操作不是必需的!

已将 Docker 镜像仓库添加到 /etc/apt/sources.list.d/ 中之后,您应该在下列情况下查看 docker.list

$ ls /etc/apt/sources.list.d/

并且,docker.list 的内容应该为:

deb [arch=armhf] https://apt.dockerproject.org/repo raspbian-jessie main

如果您在 docker.list 中未看到该内容,请将该行注释掉,或者对 docker.list 文件执行 rm 命令。

已确认具有正确的镜像仓库后,您可以继续安装 Docker。

  1. 更新 apt 软件包索引。

     $ sudo apt-get update
    
  2. 安装最新版本的 Docker CE,或者转至下一步以安装特定版本。将替换任何现有的 Docker CE 安装版本。

    使用此命令安装最新版本的 Docker:

     $ sudo apt-get install docker-engine
    

    :默认情况下,Raspbian 上的 Docker 是 Docker 社区版。

    :如果未使用 curl -sSL https://get.docker.com | sh, docker 不会自动完成!您必须手动添加它。

  3. 验证是否正确安装了 Docker CE,方法是运行 hello-world 镜像。

     $ sudo docker run hypriot/armhf-hello-world
    

    此命令将下载一个测试镜像并在容器中运行它。容器运行时,它将输出一条参考消息并退出。

####(可选)安装适用于 Raspbian 的 Docker Compose

此功能由 Hypriot 提供。添加 Hypriot 镜像仓库:

curl -s https://packagecloud.io/install/repositories/Hypriot/Schatzkiste/script.deb.sh | sudo bash

安装 docker-compose

sudo apt-get install docker-compose

从软件包进行安装

如果您无法使用 Docker 镜像仓库安装 Docker CE,可以下载适用于您的版本的 .deb 文件,并手动进行安装。每次要升级 Docker 时,您都需要下载一个新文件。

  1. 转至 https://download.docker.com/linux/debian/dists/,选择您的 Debian 版本,浏览至 pool/stable/,选择 amd64armhf,然后下载适用于您要安装的 Docker CE 版本的 .deb 文件以及适用于您的 Debian.版本的 .deb 文件。

    :如需安装 edge 软件包,请将 URL 中的词 stable 更改为 edge了解 stableedge 渠道

  2. 安装 Docker CE,并将下面的路径更改为您下载 Docker 软件包的路径。

     $ sudo dpkg -i /path/to/package.deb
    

    Docker 守护进程将自动启动。

  3. 验证是否正确安装了 Docker CE,方法是运行 hello-world 镜像。

     $ sudo docker run hello-world
    

    此命令将下载一个测试镜像并在容器中运行它。容器运行时,它将输出一条参考消息并退出。

Docker CE 已安装并且正在运行。您需要使用 sudo 运行 Docker 命令。继续执行 Linux 安装后步骤 以允许非特权用户运行 Docker 命令,以及了解其他可选配置步骤。

升级 Docker CE

如需升级 Docker,请下载较新的软件包文件并重复安装过程,指向新文件。

卸载 Docker CE

  1. 卸载 Docker CE 软件包:

     $ sudo apt-get purge docker-ce
    
  2. 主机上的镜像、容器、存储卷、或定制配置文件不会自动删除。如需删除所有镜像、容器和存储卷,请运行下列命令:

     $ sudo rm -rf /var/lib/docker
    

您必须手动删除任何已编辑的配置文件。

后续步骤

要求, apt, 安装文档, debian, 安装, 卸载, 升级, 更新