通过二进制文件安装 Docker Engine

重要提示

本页包含有关如何使用二进制文件安装 Docker 的信息。这些说明主要适用于测试目的。我们不建议在生产环境中使用二进制文件安装 Docker,因为它们没有自动安全更新。本页描述的 Linux 二进制文件是静态链接的,这意味着构建时依赖项中的漏洞不会通过您的 Linux 发行版的安全更新自动修补。

与使用包管理器或通过 Docker Desktop 安装的 Docker 软件包相比,更新二进制文件也稍微复杂一些,因为它需要在有新版 Docker 发布时(手动)更新已安装的版本。

此外,静态二进制文件可能不包括动态软件包提供的所有功能。

在 Windows 和 Mac 上,我们建议您改为安装 Docker Desktop。对于 Linux,我们建议您遵循适用于您的发行版的特定说明。

如果您想尝试 Docker 或在测试环境中使用它,但您不在受支持的平台上,您可以尝试从静态二进制文件安装。如果可能,您应该使用为您的操作系统构建的软件包,并使用操作系统的包管理系统来管理 Docker 的安装和升级。

Docker 守护进程二进制文件的静态二进制文件仅适用于 Linux(作为 dockerd)和 Windows(作为 dockerd.exe)。Docker 客户端的静态二进制文件适用于 Linux、Windows 和 macOS(作为 docker)。

本主题讨论 Linux、Windows 和 macOS 的二进制安装

在 Linux 上安装守护进程和客户端二进制文件

先决条件

在尝试从二进制文件安装 Docker 之前,请确保您的主机满足先决条件

  • 64 位安装
  • Linux 内核版本为 3.10 或更高。建议使用适用于您平台的最新内核版本。
  • iptables 版本 1.4 或更高
  • git 版本 1.7 或更高
  • 一个 ps 可执行文件,通常由 procps 或类似软件包提供。
  • XZ Utils 4.9 或更高版本
  • 一个正确挂载的 cgroupfs 层次结构;一个单一的、包罗万象的 cgroup 挂载点是不够的。请参阅 Github 问题 #2683#3485#4568

尽可能保护您的环境

操作系统注意事项

如果可能,请启用 SELinux 或 AppArmor。

如果您的 Linux 发行版支持 AppArmor 或 SELinux 其中之一,建议使用它。这有助于提高安全性并阻止某些类型的漏洞利用。请查阅您的 Linux 发行版的文档,了解启用和配置 AppArmor 或 SELinux 的说明。

安全警告

如果启用了任一安全机制,请不要为了让 Docker 或其容器运行而禁用它。相反,应正确配置它以解决任何问题。

Docker 守护进程注意事项

安装静态二进制文件

  1. 下载静态二进制文件存档。转到 https://download.docker.com/linux/static/stable/,选择您的硬件平台,并下载与您要安装的 Docker Engine 版本相关的 .tgz 文件。

  2. 使用 tar 实用程序提取存档。dockerddocker 二进制文件将被提取出来。

    $ tar xzvf /path/to/<FILE>.tar.gz
    
  3. 可选:将二进制文件移动到可执行路径上的目录,例如 /usr/bin/。如果跳过此步骤,则在调用 dockerdockerd 命令时必须提供可执行文件的路径。

    $ sudo cp docker/* /usr/bin/
    
  4. 启动 Docker 守护进程

    $ sudo dockerd &
    

    如果您需要使用其他选项启动守护进程,请相应地修改上述命令,或创建并编辑文件 /etc/docker/daemon.json 以添加自定义配置选项。

  5. 通过运行 hello-world 镜像来验证 Docker 是否已正确安装。

    $ sudo docker run hello-world
    

    此命令会下载一个测试镜像并在容器中运行它。当容器运行时,它会打印一条消息然后退出。

您现在已成功安装并启动了 Docker Engine。

提示

尝试在没有 root 权限的情况下运行时收到错误?

docker 用户组已存在但没有用户,这就是为什么您需要使用 sudo 来运行 Docker 命令。继续到 Linux 安装后步骤,以允许非特权用户运行 Docker 命令以及进行其他可选配置步骤。

在 macOS 上安装客户端二进制文件

注意

以下说明主要适用于测试目的。macOS 二进制文件仅包含 Docker 客户端。它不包括运行容器所需的 dockerd 守护进程。因此,我们建议您改为安装 Docker Desktop

Mac 的二进制文件也不包含

  • 一个运行时环境。您必须在虚拟机中或远程 Linux 机器上设置一个功能正常的引擎。
  • Docker 组件,例如 buildxdocker compose

要安装客户端二进制文件,请执行以下步骤

  1. 下载静态二进制存档。前往 https://download.docker.com/mac/static/stable/ 并选择 x86_64 (适用于 Intel 芯片的 Mac) 或 aarch64 (适用于 Apple 芯片的 Mac),然后下载与您要安装的 Docker Engine 版本相关的 .tgz 文件。

  2. 使用 tar 实用程序提取存档。docker 二进制文件将被提取出来。

    $ tar xzvf /path/to/<FILE>.tar.gz
    
  3. 清除扩展属性以允许其运行。

    $ sudo xattr -rc docker
    

    现在,当您运行以下命令时,您可以看到 Docker CLI 的使用说明

    $ docker/docker
    
  4. 可选:将二进制文件移动到您的可执行路径上的目录,例如 /usr/local/bin/。如果您跳过此步骤,在调用 dockerdockerd 命令时必须提供可执行文件的路径。

    $ sudo cp docker/docker /usr/local/bin/
    
  5. 通过运行 hello-world 镜像来验证 Docker 是否已正确安装。<hostname> 的值是运行 Docker 守护进程且客户端可访问的主机名或 IP 地址。

    $ sudo docker -H <hostname> run hello-world
    

    此命令会下载一个测试镜像并在容器中运行它。当容器运行时,它会打印一条消息然后退出。

在 Windows 上安装服务器和客户端二进制文件

注意

以下部分描述了如何在 Windows Server 上安装 Docker 守护进程,这只允许您运行 Windows 容器。当您在 Windows Server 上安装 Docker 守护进程时,该守护进程不包含 Docker 组件,如 buildxcompose。如果您运行的是 Windows 10 或 11,我们建议您改为安装 Docker Desktop

Windows 上的二进制包同时包含 dockerd.exedocker.exe。在 Windows 上,这些二进制文件只提供运行原生 Windows 容器(而非 Linux 容器)的能力。

要安装服务器和客户端二进制文件,请执行以下步骤

  1. 下载静态二进制存档。转到 https://download.docker.com/win/static/stable/x86_64 并从列表中选择最新版本。

  2. 运行以下 PowerShell 命令来安装并提取存档到您的程序文件目录

    PS C:\> Expand-Archive /path/to/<FILE>.zip -DestinationPath $Env:ProgramFiles
  3. 注册服务并启动 Docker Engine

    PS C:\> &$Env:ProgramFiles\Docker\dockerd --register-service
    PS C:\> Start-Service docker
  4. 通过运行 hello-world 镜像来验证 Docker 是否已正确安装。

    PS C:\> &$Env:ProgramFiles\Docker\docker run hello-world:nanoserver

    此命令会下载一个测试镜像并在容器中运行它。当容器运行时,它会打印一条消息然后退出。

升级静态二进制文件

要升级手动安装的 Docker Engine,请先停止本地运行的任何 dockerddockerd.exe 进程,然后按照常规安装步骤将新版本安装在现有版本之上。

后续步骤

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.