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 前缀。