解如何在 Debian 12 上正确安装 Docker。还要学习在没有 sudo 的情况下运行 Docker,并在不需要时将其删除。
想在 Debian 12 上使用 Docker?让我来帮助你。
Docker 可以从 Debian 存储库安装。您所要做的就是运行此命令:
sudo apt install docker.io
但是,您将无法从 Debian 获得最新的 Docker 版本。
这就是为什么我建议从 Docker 存储库本身安装它。这样,您就可以直接从源获取 Debian 上的最新 Docker 版本以及任何未来的更新。
但是在跳转到安装方法之前,需要删除之前安装的 Docker。
为此,您可以使用以下命令:
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
完成后,您可以继续执行所示的安装方法。
使用 Docker 存储库在 Debian 12 上安装 Docker
我建议使用此方法的主要原因是您可以轻松升级,因为存储库可以轻松更新!
首先,使用以下命令安装此方法的先决条件:
sudo apt update && sudo apt install ca-certificates curl gnupg
现在,让我们使用以下命令创建一个目录来存储密钥环:
sudo install -m 0755 -d /etc/apt/keyrings
接下来,使用给定的命令下载 GPG 密钥并将其存储在 /etc/apt/keyrings/etc/apt/keyrings
目录中:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
完成后,使用 chmod 命令更改 docker.gpg 文件的权限:
sudo chmod a+r /etc/apt/keyrings/docker.gpg
最后,使用以下命令为 Docker 设置存储库:
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
上述命令中每行末尾的额外 \
只是添加新行的一种方式,以便您可以轻松查看整个命令。就是这样!
现在,您可以使用以下命令更新存储库索引并安装 Docker:
sudo apt update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
要验证 Docker 安装,您可以安装 hello-world 映像:
sudo docker run hello-world
hello-world docker 镜像很小,仅用于检查 Docker 是否运行正常。
这是上述所有命令的重播。
使用 Docker 而不使用 sudo
如果您注意到,在运行 hello-world 映像时,我使用了 sudo。
这可能不太方便。那么如何将其配置为不必使用 sudo 呢?
为此,首先使用 groupadd 命令创建一个 docker 组:
sudo groupadd docker
现在,将用户添加到组(docker):
sudo usermod -aG docker $USER
现在从终端注销并重新登录以使更改生效。
如果您在虚拟机中安装 Docker,则可能需要重新启动才能使您所做的更改生效。
让我们通过运行 hello-world 图像来测试它:
docker run hello-world
正如您所看到的,我无需使用 sudo 即可获得相同的结果。
卸载 Docker
首先,使用以下命令停止 docker 服务:
sudo systemctl stop docker
然后按以下方式使用 apt purge 命令从系统中删除 Docker:
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
如果您打算进行全新安装或者不想拥有任何以前的数据,那么您可以使用 rm 命令删除 Docker 文件:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
就是这样! Docker 已成功删除。
下一步:学习基本的 Docker 命令
如果您刚刚开始使用 Docker,我强烈建议您首先学习基本命令。
如果没有别的事,至少要学习管理容器的基础 Docker 命令。
我希望本指南对您有所帮助。