--- outline: [2,4] --- # 在 Debian 上安装 Docker Engine 要在 Debian 上开始使用 Docker Engine,请确保您 [满足先决条件](#先决条件),然后按照 [安装步骤](#安装方法)进行操作。 ## 先决条件 ### 防火墙限制 :::warning 警告 在安装 Docker 之前,请确保考虑以下安全隐患和防火墙不兼容性。 ::: - 如果您使用 ufw 或firewalld 来管理防火墙设置,请注意,当您使用 Docker 公开容器端口时,这些端口会绕过防火墙规则。有关更多信息,请参阅 [Docker 和 ufw](https://docs.docker.com/engine/network/packet-filtering-firewalls/#docker-and-ufw)。 - Docker 仅与`iptables-nft`和兼容`iptables-legacy`。使用 创建的防火墙规则`nft`在安装了 Docker 的系统上不受支持。确保您使用的任何防火墙规则集都是使用`iptables`或创建的`ip6tables`,并且将它们添加到`DOCKER-USER`链中,请参阅 [数据包过滤和防火墙](https://docs.docker.com/engine/network/packet-filtering-firewalls/)。 ### 操作系统要求 要安装 Docker Engine,您需要以下 Debian 版本之一的 64 位版本: - Debian Bookworm 12(稳定版) - Debian Bullseye 11(旧稳定版) Debian 的 Docker Engine 与 x86_64(或 amd64)、armhf、arm64 和 ppc64le(ppc64el)架构兼容。 ### 卸载旧版本 在安装 Docker Engine 之前,您需要卸载所有有冲突的软件包。 您的 Linux 发行版可能提供了非官方的 Docker 软件包,这些软件包可能会与 Docker 提供的官方软件包冲突。您必须在安装 Docker Engine 正式版之前卸载这些软件包。 要卸载的非官方软件包包括: - `docker.io` - `docker-compose` - `docker-doc` - `podman-docker` 此外,Docker Engine 依赖于`containerd`和`runc`。Docker Engine 将这些依赖项捆绑为一个包:`containerd.io`。如果您之前安装了`containerd`或`runc`,请卸载它们以避免与 Docker Engine 捆绑的版本冲突。 运行以下命令来卸载所有冲突的包: ```bash for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done ``` `apt-get`可能会报告您没有安装这些包。 卸载 Docker 时,不会自动删除存储在中的图像、容器、卷和网络`/var/lib/docker/`。如果您想从全新安装开始,并且希望清理所有现有数据,请阅读 [卸载 Docker Engine](#卸载DockerEngine)部分。 ## 安装方法