基于 Debian 的系列发行版部署 Docker CE
后知后觉 暂无评论

在 Debian 及其发行版上进行部署 Docker 容器,比如 Ubuntu 等。

更新记录

2023-06

在不同发行版上安装

Debian

系统要求

官方仓库目前仅支持 64-bit 的 Debian 及 Raspbian 版本:

树莓派

x86_64 (amd64)、 armhfarm64 架构提供支持。

卸载旧版本

在安装 Docker 引擎前,必须首先确定冲突的包已经被卸载。

发行版主线提供了非官方构建的 Docker 包,在安装官方版本的 Docker 前必须要先卸载那些包。

需要卸载的非官方包包含:

此外,Docker 引擎依赖于 containerdrunc。Docker 引擎打包了这两个依赖在一个包里:containerd.io。如果已经安装了这两个包请卸载掉以防和捆绑的包产生冲突。

执行下面的命令去卸载冲突的包:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt remove --purge $pkg; done

如果提示没有找到这些软件包,那么也没关系,直接进行下面的步骤即可。

镜像、容器、数据卷和网络配置等被存储在 /var/lib/docker/ 目录中,不会随着 Docker 卸载而自动清除,如果想进行全新的清洁安装,或者想清理现有的数据,可以执行命令:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

安装

使用 apt 仓库进行安装

配置仓库

更新仓库索引并配置仓库支持 HTTPS 连接

sudo apt update
sudo apt install ca-certificates curl gnupg

添加官方 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

中国大陆地区请使用镜像地址进行安装

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

中国大陆推荐使用国内镜像站

  • 阿里开源镜像

    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | \
      sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 网易开源镜像

    curl -fsSL https://mirrors.163.com/docker-ce/linux/debian/gpg | \
      sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] http://mirrors.163.com/docker-ce/linux/debian \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 清华开源镜像

    curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | \
      sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

Ubuntu

系统要求

想安装 Docker 软件,需要使用 64-bit 并在以下列表中的任意 Ubuntu 版本:

x86_64 (amd64)、 armhfarm64s390x 架构提供支持。

小贴士:Ubuntu 16.04 LTS 已经结束了五年的长期支持,因此 Docker 不再发布此发行版的软件包(包括补丁和安全更新),建议还在使用 Ubuntu 16.04 的 Docker 用户更新至当前受支持的 LTS 版本。

卸载旧版本

sudo apt remove docker docker-engine docker.io containerd runc

如果提示没有找到这些软件包,那么也没关系,直接进行下面的步骤即可。

注意:系统目录 /var/lib/docker/ (存放镜像、容器、数据卷、网络配等)会被默认保留,若需要彻底清理,请删除执行下面的命令。

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

支持的存储驱动

Docker 的 Ubuntu 版本支持 overlay2aufsbtrfs 存储驱动。

Docker 使用 overlay2 作为默认存储驱动。如果需要使用其他存储引擎,请参考配置

配置仓库

更新包管理器的索引,并通过 HTTPS 使用仓库:

sudo apt update
sudo apt install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
注意:Ubuntu 18.04 后默认支持 HTTPS 仓库,无需安装 apt-transport-https 包。

非中国大陆地区请使用官方地址进行安装

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
小贴士:在 Ubuntu 18.04 之后的版本不再支持 i386/x86 架构,因此必须添加 [arch=amd64] 字段,之前的版本此字段可省略。除 amd64 外,此外还支持 armhf arm64 ppc64le s390x 架构。

中国大陆推荐使用国内镜像站

  • 阿里开源镜像

    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | \
      sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 网易开源镜像

    curl -fsSL https://mirrors.163.com/docker-ce/linux/ubuntu/gpg | \
      sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.163.com/docker-ce/linux/ubuntu/ \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 清华开源镜像

    curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | \
      sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/ \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

可选的配置

这几个配置是可选的,不进行操作也不会有任何问题,但可以让 Docker 工作得更好。

使用非根用户管理 Docker

Docker 守护进程监听 Unix 套接字,而不是 TCP 端口。默认情况下 Unix 套接字归属于 root 用户,其他用户仅可以通过 sudo 命令进行访问,Docker 守护进程只能以 root 用户运行。

如果不想在使用 Docker 命令时添加 sudo,可以创建一个 docker 用户组并且将用户加入,当 Docker 守护进程启动时,会创建一个可供 docker 用户组的成员访问的 Unix 套接字。

警告:Docker 用户组成员的权限等同于 root 用户,因此如果想了解关于此操作对于系统的影响,可以参考Docker 守护进程攻击

创建用户组

sudo groupadd docker

将当前用户添加至组

sudo usermod -aG docker $USER

重启机器或者终端来应用新的用户组信息

内核兼容性检查

目前仅支持 3.10 之后版本的内核,如果想测试内核兼容性,可以下载下面的测试工具。

curl -O https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh
bash ./check-config.sh

Docker Compose

安装 Docker CE 后可以选择继续安装 Docker Compose 。官方 Github 仓库地址。

Docker compose V2 版本不再使用之前的旧方式部署,使用了全新的插件形式,可以在 docker 后使用 compose 参数调用。

现在已经提供多种方式进行安装:

测试安装结果

docker compose version

附录

相关链接

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。