Debian12安装Docker

前言

​ Docker 是一个开源的平台,用于开发、部署和运行应用程序。它利用容器技术来实现这一点,容器是一种轻量级的虚拟化方式,可以在单个操作系统内核上运行多个独立的应用程序实例。

​ 用Docker来做项目很方便,管理起来很方便,所以后续大部分项目我应该都会使用docker来进行构建。



环境准备

先安装一些必要的软件包:

1
2
3
apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates


下载GPG公钥

GPG密钥用于验证从该存储库下载的Docker镜像的完整性和真实性

这可以防止恶意软件或篡改的软件包被安装到系统中。

现在运行以下命令为 Docker 存储库设置 GPG 密钥,该密钥将存储在 /etc/apt/keyrings/ 目录中。

1
2
3
4
5
6
7
8
# 创建目录并设置权限
sudo install -m 0755 -d /etc/apt/keyrings

# 下载 Docker 的 GPG 公钥并保存到 /etc/apt/keyrings 目录
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置 GPG 公钥文件的权限
sudo chmod a+r /etc/apt/keyrings/docker.gpg

image-20240604145701978



添加Docker APT仓库

执行以下命令为 Debian 系统添加 Docker 存储库。

1
2
# 添加 Docker 仓库并指定 GPG 公钥文件
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

image-20240604150112059



安装Docker

通过下面的 apt 命令安装 Docker Engine。此命令还将安装 Containerd(默认容器引擎)、Docker buildx 插件作为默认构建具有 BuildKit 功能的插件,以及 Docker compose 作为插件。

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

安装Docker后,运行以下命令检查版本。

1
docker version

image-20240604151559450



安装Docker Compose

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

因为我们已经安装了 docker-compose-plugin,所以 Docker 目前已经自带 docker compose 命令,基本上可以替代 docker-compose

1
2
root@GreenCloud:~# docker compose version
Docker Compose version v2.27.0

如果某些镜像或命令不兼容,则我们还可以单独安装 Docker Compose。

我们可以使用 Docker 官方发布的 Github 直接安装最新版本:

1
2
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

此时可以使用 docker-compose version 命令检查是否安装成功:

1
2
root@GreenCloud:~# docker-compose version
Docker Compose version v2.27.1


修改Docker配置

  1. 以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    cat > /etc/docker/daemon.json << EOF
    {
    "log-driver": "json-file",
    "log-opts": {
    "max-size": "20m",
    "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
    }
    EOF

    然后重启 Docker 服务:

    1
    systemctl restart docker


参考

【Docker系列】不用宝塔面板,小白一样可以玩转VPS服务器!-我不是咕咕鸽 (laoda.de)

如何在 Debian 12 上安装和使用 Docker (linux-console.net)

Debian 12 / Ubuntu 22.04 安装 Docker 以及 Docker Compose 教程 - 烧饼博客