> 技术文档 > Debian12安装Docker以及Docker Compose教程

Debian12安装Docker以及Docker Compose教程


什么是 Docker?

Docker 是一种容器化技术,可以在服务器上快速搭建容器并在不污染宿主机的情况下运行软件,而不再需要安装配置各种环境。开源 Docker 社区致力于改进这类技术,并免费提供给所有用户,使之获益。

什么是 Docker Compose?

传统模式下运维人员需要运行 docker run 来启动各种容器,一旦容器过多,就无法一次性记住所有的运行参数和命令,这时候我们可以使用 Docker Compose 来解决这个问题。

Docker Compose 是一个用于在单个主机上定义和运行多个 Docker 容器的工具。它使用 YAML 文件来配置应用程序的服务,然后使用一个命令就可以创建并启动所有服务。使用 Docker Compose 可以大大简化 Docker 容器的管理和部署,特别是对于具有多个互相依赖的容器的复杂应用。

Docker 支持以下的 64 位 Debian 版本:

  • Debian Bookworm 12 (稳定版)
  • Debian Bullseye 11 (旧稳定版)                   

卸载旧版本

如果你之前安装过 Docker Engine 之前,你需要卸载旧版本,避免冲突:

输入:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done如果出现下图:

可能没有安装curl工具。在Debian系统中,curl属于可选包,默认可能没有安装。所以第一步应该检查curl是否已安装。可以通过运行which curl或者curl --version来验证,如果提示找不到命令,说明未安装。

接下来,解决方法就是安装curl。Debian 12使用apt作为包管理器,所以需要先更新包索引,然后安装curl。命令应该是sudo apt update && sudo apt install -y curl。安装完成后,再重新执行下载Docker脚本的命令。

第 1 步:安装先决条件

首先,运行以下两个命令来更新包索引并安装添加和使用新 HTTPS 存储库所需的先决条件。

sudo apt updatesudo apt install apt-transport-https ca-certificates curl gnupg

第 2 步:添加 Docker 的 GPG Repo 密钥

接下来,将 Docker GPG 存储库密钥导入到您的 Debian 系统。此安全功能可确保您正在安装的软件是真实的。

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

请注意,该命令不会产生任何输出。

第 3 步:将 Docker 存储库添加到 Debian 12

导入 GPG 密钥后,我们将官方 Docker 存储库添加到我们的 Debian 12 系统中。 最好的部分是,如果发布新版本,更新包将与系统的其余常规更新一起提供。

echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable\" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

与前面的命令一样,它的执行不会产生任何输出。

接下来,刷新包列表。

sudo apt update

框起来的就是新 Docker 存储库现已可用并可供使用。

步骤 4:在 Debian 12 上安装 Docker(Bookworm)

要在 Debian 上安装最新的 Docker 版本,请运行以下命令。

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

这将安装以下 Docker 组件:

  • docker-ce:Docker 引擎本身。
  • docker-ce-cli:一个命令行工具,可让您与 Docker 守护进程对话。
  • containerd.io:管理容器生命周期的容器运行时。
  • docker-buildx-plugin:一个 CLI 插件,可通过许多新功能扩展 Docker 构建。

就这样! Docker 现在应该已安装;该服务应该启动并启用为在启动时自动启动。

可以使用以下命令检查Docker服务状态:

sudo systemctl is-active docker

第 5 步:验证 Docker 安装

现在让我们检查一下新安装的 Docker 是否一切正常。为此,我们将运行一个名为“hello-world”的简单应用程序。 ”

sudo docker run hello-world

允许非 root 用户运行 Docker 命令

到目前为止,就已经成功在您的 Debian 12 系统上安装了 Docker。

但是,默认情况下,只有 root 和具有 sudo 权限的用户才能执行 Docker 命令。换句话说,如果您尝试运行 docker 命令而不使用 sudo 前缀,您将收到如下错误消息:

docker ps

因此,要以非 root 用户身份运行 Docker 命令,您必须将您的用户添加到“docker”组。为此,请输入以下内容:

sudo usermod -aG docker ${USER}

在上面的命令中,$ {USER} 是一个保存您的用户名的环境变量。要申请新的组成员身份,请重新启动 Debian 系统。

然后,可以执行 Docker 命令,而无需在命令前添加 sudo 前缀。