先决条件
如果你使用ufw或firewalld来管理防火墙设置,请注意,当你使用Docker暴露容器端口时,这些端口会绕过你的防火墙规则。欲了解更多信息,请参阅Docker和ufw。操作系统要求
要安装Docker引擎,你需要这些Debian版本中的64位版本:- Debian Bookworm 12 (stable)
- Debian Bullseye 11 (oldstable)
卸载旧版本
在你安装Docker Engine之前,你必须首先确保任何冲突的软件包都被卸载了。 需要卸载的非官方软件包是:- docker.io
- docker-compose
- docker-doc
- podman-docker
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
安装方法
你可以根据自己的需要,以不同的方式安装Docker引擎:- Docker引擎与Docker Desktop for Linux捆绑在一起。这是最简单、最快速的入门方式。
- 从Docker的apt资源库中设置并安装Docker引擎。(本文提供的安装方式)
- 手动安装并手动管理升级。
- 使用一个方便的脚本。只推荐用于测试和开发环境。
使用apt软件库进行安装
在你第一次在新主机上安装Docker Engine之前,你需要设置Docker仓库。之后,你可以从存储库中安装和更新Docker。设置存储库
- 更新apt软件包索引和安装包,以允许apt使用HTTPS上的存储库:
sudo apt-get update sudo apt-get install ca-certificates curl gnupg - 添加Docker的官方GPG密钥:
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg - 使用下面的命令来设置版本库:
echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
如果你使用衍生发行版,比如Kali Linux,你可能需要替换这个命令中期望打印版本代号的部分:
$(. /etc/os-release && echo "$VERSION_CODENAME")
安装Docker引擎
1. 更新apt软件包索引:
sudo apt-get update
2. 安装Docker Engine、containerd和Docker Compose:
要安装最新版本,请运行:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
要安装特定版本的Docker Engine,首先要列出软件库中的可用版本:
# List the available versions:
apt-cache madison docker-ce | awk '{ print $3 }'
5:24.0.0-1~debian.11~bullseye
5:23.0.6-1~debian.11~bullseye
...
VERSION_STRING=5:24.0.0-1~debian.11~bullseye
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
3. 通过运行hello-world镜像,验证Docker引擎的安装是否成功:
sudo docker run hello-world
卸载Docker引擎
- 卸载Docker引擎、CLI、containerd和Docker Compose软件包:
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras - 你主机上的图像、容器、卷或自定义配置文件不会被自动删除。要删除所有的图像、容器和卷:
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
你必须手动删除任何编辑过的配置文件。