从二进制文件安装 Docker 引擎
重要的
此页面包含有关如何使用二进制文件安装 Docker 的信息。这些说明主要适用于测试目的。我们不建议在生产环境中使用二进制文件安装 Docker,因为它们没有自动安全更新。本页描述的 Linux 二进制文件是静态链接的,这意味着构建时依赖项中的漏洞不会通过 Linux 发行版的安全更新自动修补。
与使用包管理器或通过 Docker Desktop 安装的 Docker 包相比,更新二进制文件也稍微复杂一些,因为每当有新版本的 Docker 时,它都需要(手动)更新已安装的版本。
此外,静态二进制文件可能不包括动态包提供的所有功能。
在 Windows 和 Mac 上,我们建议您安装Docker Desktop 。对于 Linux,我们建议您遵循特定于您的发行版的说明。
如果您想尝试 Docker 或在测试环境中使用它,但您不在受支持的平台上,则可以尝试从静态二进制文件安装。如果可能,您应该使用为您的操作系统构建的软件包,并使用操作系统的软件包管理系统来管理 Docker 安装和升级。
Docker 守护程序二进制文件的静态二进制文件仅适用于 Linux (as
dockerd
) 和 Windows (as 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 守护进程注意事项
seccomp
如果可能,启用安全配置文件。请参阅 启用seccomp
Docker。如果可能,启用用户命名空间。请参阅 守护程序用户命名空间选项。
安装静态二进制文件
下载静态二进制存档。访问 https://download.docker.com/linux/static/stable/,选择您的硬件平台,然后下载
.tgz
与您要安装的 Docker Engine 版本相关的文件。使用该实用程序提取存档
tar
。dockerd
和二进制文件docker
被提取。$ tar xzvf /path/to/<FILE>.tar.gz
可选:将二进制文件移动到可执行路径上的目录,例如
/usr/bin/
.如果跳过此步骤,则在调用docker
或命令时必须提供可执行文件的路径dockerd
。$ sudo cp docker/* /usr/bin/
启动 Docker 守护进程:
$ sudo dockerd &
如果您需要使用其他选项启动守护程序,请相应地修改上述命令或创建并编辑文件
/etc/docker/daemon.json
以添加自定义配置选项。通过运行镜像来验证 Docker 是否已正确安装
hello-world
。$ sudo docker run hello-world
此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
您现在已经成功安装并启动了 Docker Engine。
提示
尝试在没有 root 的情况下运行时收到错误?
该
docker
用户组存在但不包含任何用户,这就是为什么您需要使用它sudo
来运行 Docker 命令。继续进行 Linux 安装后, 以允许非特权用户运行 Docker 命令和其他可选配置步骤。
在 macOS 上安装客户端二进制文件
笔记
以下说明主要适用于测试目的。 macOS 二进制文件仅包含 Docker 客户端。它不包括
dockerd
运行容器所需的守护进程。因此,我们建议您安装 Docker Desktop。
Mac 的二进制文件也不包含:
- 运行时环境。您必须在虚拟机或远程 Linux 计算机上设置功能引擎。
- Docker 组件,例如
buildx
和docker compose
.
要安装客户端二进制文件,请执行以下步骤:
下载静态二进制存档。转到 https://download.docker.com/mac/static/stable/并选择
x86_64
(适用于 Intel 芯片上的 Mac)或aarch64
(适用于 Apple 芯片上的 Mac),然后下载.tgz
与所需 Docker Engine 版本相关的文件安装。使用该实用程序提取存档
tar
。二进制docker
文件被提取。$ tar xzvf /path/to/<FILE>.tar.gz
清除扩展属性以允许其运行。
$ sudo xattr -rc docker
现在,当您运行以下命令时,您可以看到 Docker CLI 使用说明:
$ docker/docker
可选:将二进制文件移动到可执行路径上的目录,例如
/usr/local/bin/
.如果跳过此步骤,则在调用docker
或命令时必须提供可执行文件的路径dockerd
。$ sudo cp docker/docker /usr/local/bin/
通过运行镜像来验证 Docker 是否已正确安装
hello-world
。的值<hostname>
是运行 Docker 守护程序且可供客户端访问的主机名或 IP 地址。$ sudo docker -H <hostname> run hello-world
此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
在 Windows 上安装服务器和客户端二进制文件
笔记
以下部分介绍如何在 Windows Server 上安装 Docker 守护程序,该守护程序仅允许您运行 Windows 容器。当您在 Windows Server 上安装 Docker 守护程序时,该守护程序不包含 Docker 组件,例如
buildx
和compose
。如果您运行的是 Windows 10 或 11,我们建议您安装Docker Desktop。
Windows 上的二进制包包括dockerd.exe
和docker.exe
.在 Windows 上,这些二进制文件仅提供运行本机 Windows 容器(而不是 Linux 容器)的能力。
要安装服务器和客户端二进制文件,请执行以下步骤:
下载静态二进制存档。转到 https://download.docker.com/win/static/stable/x86_64并从列表中选择最新版本。
运行以下 PowerShell 命令来安装存档并将其解压到程序文件中:
PS C:\> Expand-Archive /path/to/<FILE>.zip -DestinationPath $Env:ProgramFiles
注册服务并启动 Docker 引擎:
PS C:\> &$Env:ProgramFiles\Docker\dockerd --register-service PS C:\> Start-Service docker
通过运行镜像来验证 Docker 是否已正确安装
hello-world
。PS C:\> &$Env:ProgramFiles\Docker\docker run hello-world:nanoserver
此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
升级静态二进制文件
要升级手动安装的 Docker Engine,请首先停止本地运行的任何
dockerd
进程dockerd.exe
,然后按照常规安装步骤在现有版本之上安装新版本。
下一步
- 继续 执行 Linux 的安装后步骤。
- 查看使用 Docker 进行开发中的主题,了解如何使用 Docker 构建新应用程序。