基于 Debian 系列发行版部署 Docker CE

后知后觉 暂无评论

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

在不同发行版上安装

Debian

系统要求

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

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

卸载旧版本

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

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

/var/lib/docker/ 目录(存放镜像、容器、数据卷、网络配等)会被默认保留,Docker Engine 包现在已经改名为 docker-ce

部署 repo

基础依赖

sudo apt install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

海外及中国港澳台等地区请使用官方地址进行安装

curl -fsSL https://download.docker.com/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://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

安装

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

Ubuntu

系统要求

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

Docker 软件对 x86_64 (or amd64)、 armhfarm64s390x 架构提供支持。

小贴士:Ubuntu 16.04 LTS 已经结束支持
Ubuntu Linux 16.04 已经结束了五年的长期支持,因此 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.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

还可以使用网易开源镜像

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

安装

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

附录

相关链接

参考链接

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