从二进制文件安装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 守护进程注意事项
如果可能,请启用
seccomp
安全配置文件。请参阅 为 Docker 启用seccomp
。如果可能,请启用用户命名空间。请参阅 守护进程用户命名空间选项。
安装静态二进制文件
下载静态二进制存档。访问 https://download.docker.com/linux/static/stable/,选择您的硬件平台,并下载与您要安装的 Docker Engine 版本相关的
.tgz
文件。使用
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
以添加自定义配置选项。运行
hello-world
镜像,验证 Docker 是否已正确安装。$ sudo docker run hello-world
此命令下载测试镜像并在容器中运行它。容器运行时,它会打印一条消息并退出。
您现在已成功安装并启动 Docker Engine。
提示
尝试在非root用户下运行时收到错误?
docker
用户组存在但不包含任何用户,这就是您需要使用sudo
运行 Docker 命令的原因。请继续访问 Linux 安装后步骤 以允许非特权用户运行 Docker 命令以及其他可选配置步骤。
在macOS上安装客户端二进制文件
注意
以下说明主要适用于测试目的。macOS 二进制文件仅包含 Docker 客户端。它不包含运行容器所需的
dockerd
守护进程。因此,我们建议您改用 Docker Desktop。
Mac 的二进制文件也不包含
- 运行时环境。您必须在虚拟机中或远程 Linux 机器上设置功能正常的引擎。
buildx
和docker compose
等 Docker 组件。
要安装客户端二进制文件,请执行以下步骤
下载静态二进制存档。访问 https://download.docker.com/mac/static/stable/ 并选择
x86_64
(适用于英特尔芯片的 Mac)或aarch64
(适用于苹果硅芯片的 Mac),然后下载与您要安装的 Docker Engine 版本相关的.tgz
文件。使用
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/
运行
hello-world
镜像,验证 Docker 是否已正确安装。<hostname>
的值是运行 Docker 守护进程且客户端可以访问的主机名或 IP 地址。$ sudo docker -H <hostname> run hello-world
此命令下载测试镜像并在容器中运行它。容器运行时,它会打印一条消息并退出。
在Windows上安装服务器和客户端二进制文件
注意
以下部分描述了如何在 Windows Server 上安装 Docker 守护进程,这仅允许您运行 Windows 容器。在 Windows Server 上安装 Docker 守护进程时,守护进程不包含
buildx
和compose
等 Docker 组件。如果您运行的是 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 Engine
PS C:\> &$Env:ProgramFiles\Docker\dockerd --register-service PS C:\> Start-Service docker
运行
hello-world
镜像,验证 Docker 是否已正确安装。PS C:\> &$Env:ProgramFiles\Docker\docker run hello-world:nanoserver
此命令下载测试镜像并在容器中运行它。容器运行时,它会打印一条消息并退出。
升级静态二进制文件
要升级 Docker Engine 的手动安装,首先停止本地运行的任何dockerd
或dockerd.exe
进程,然后按照常规安装步骤在现有版本之上安装新版本。
后续步骤
- 请继续访问 Linux 的安装后步骤。