Ubuntu|Ubuntu 20.04 安装 Docker 的两种方法

文章背景 菜鸟之dokcer体验!
本教程主要介绍在 Ubunutu20.04 上安装 Docker。
Win10 安装 Docker Desktop ( 基于WSL2,WSL vs Hyper-V) 上介绍了如何在 Win10 上安装Docker Desktop。
不了解 Docker 的读者可以通过下面的文章链接,对 Docker 进行初步了解。
Red Hat 的科普文章:什么是Docker?原理,作用,限制和优势简介。
下面是 Docker 的官方文档,适合深入具体的了解。
官网 DOCS :Docker 官网 DOCS。
文章目标

  1. 换国内源+更新软件源;
  2. 第一种安装方法:官网安装方法;
  3. 第二种安装方法:snap安装。
1. 换国内源+更新软件源 Ubuntu 20.04.3 桌面版换源的两种方法
2. 第一种安装方法:官网安装方法 要在 Ubuntu 上使用Docker,分别要安装 Docker Engine 和 Docker compose。
Docker Compose 依赖 Docker Engine 来完成工作,因此我们要先安装 Docker Engine 再安装 Docker Compose。
这参考了下面的两个官方文档。
Docker Engine 官方安装教程
Docker Compose 官方安装教程
不同的操作系统有不同的安装方法,我们可以在官方文档中,找到 Ubuntu 的安装方法。
2.1 Docker Engine 安装前提
操作系统要求
  • Docker只支持64位版本的 Ubuntu 18.04 LTS、20.04 LTS、21.04、21.10 操作系统,更旧的 Ubuntu 操作系统如 16.04 官方已不再维护;
  • Docker Engine 支持 x86_64 (or amd64)、armhf、arm64、s390x 体系架构。
卸载旧版本的 Docker Engine Docker的旧版本被称为docker,docker.io或docker-engine。如果安装了这些,请卸载它们:
sudo apt-get remove docker docker-engine docker.io containerd runc

如果您想保留现有数据,那么直接进入下一步即可。
如果您不想保留现有数据(可选),如 image、container、volume等,执行下面的命令,相比remove命令,purge会同时清除软件包和软件的配置文件。
sudo apt-get purge docker-ce docker-ce-cli containerd.io

主机上的 image、container、volume 或自定义配置文件不会自动删除。要删除所有映像、容器和卷,执行下面的命令,删除对应的文件夹:
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd

卸载完成。
2.2 Docker Engine 安装方法
官方提供了三种安装 Docker Engine 的方法:
  • 大多数用户设置 Docker 的仓库,使用包管理器安装,以便于安装和升级任务,这是推荐的方法;
  • 一些用户下载 deb 包并手动安装,完全手动管理升级。这在诸如在无法访问 Internet 的系统上安装 Docker 等情况下很有用;
  • 在测试和开发环境中,一些用户选择使用自动化脚本来安装 Docker。
本文只介绍 Docker Engine 官方安装-Ubuntu 中的第一种方法——使用包管理器安装。
设置 Docker Engine 存储库 ① 更新 apt 包索引并安装 ca-certificates、curl、gnupg、lsb-release等,以允许 apt 通过 HTTPS 使用存储库;
sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release

② 添加 Docker 的官方 GPG 密钥;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

③ 使用下面命令设置 stable 仓库。
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

安装 Dokcer Engine 安装最新版本的 Dokcer Engine:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io

安装指定版本的 Dokcer Engine,首先使用cpt-cache命令查看仓库中 docker-ce 的版本,选择对应的版本,使用install命令安装。
apt-cache madison docker-ce sudo apt-get install docker-ce= docker-ce-cli= containerd.io

更新 Dokcer Engine
sudo apt-get update sudo apt-get upgrade

2.3 Docker Compose 安装方法
Docker Compose 稳定版 1.29.2 安装 下面的步骤来自于 Docker Compose 官方安装-Ubuntu 。
目前 Docker Compose 的稳定版为 1.29.2。
运行下面的命令将 Docker Compose 1.29.2 的二进制版本安装到 /usr/local/bin/docker-compose 中。
要安装不同版本的 Compose,请将 1.29.2 替换为您要使用的 Compose 版本。
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

对二进制文件 /usr/local/bin/docker-compose 赋予可执行权限。
sudo chmod +x /usr/local/bin/docker-compose

测试是否安装成功,正确输出 compose 版本号,即成功。
docker-compose --version

Docker Compose V2 安装 对Docker Compose V2有兴趣,请访问 Compose V2 ,来进行安装。
3. 第二种安装方法:snap安装 如果你在使用 Ubuntu 18.04/20.04 LTS 版本的 Ubuntu 系统,会发现系统里面多了一个应用格式包—— .snap 包。 Snap 包是 Ubuntu 16.04 LTS 发布时引入的新应用格式包。目前已流行在 Ubuntu 且在其他如 Debian、Arch Linux、Fedora、Kaili Linux、openSUSE、Red Hat 等 Linux 发行版上通过 snapd 来安装使用 snap 应用。
snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间。
下图就是 snap 下 docker 的文件夹内容。
Ubuntu|Ubuntu 20.04 安装 Docker 的两种方法
文章图片

使用 snap 安装 docker ,是 Ubuntu 命令行的建议。笔者体验后,觉得 比官网的安装简单很多 ,所以在这里介绍。
Ubuntu|Ubuntu 20.04 安装 Docker 的两种方法
文章图片

使用 sudo snap info docker 命令查看仓库中 docker 的信息。
sudo snap info docker

Ubuntu|Ubuntu 20.04 安装 Docker 的两种方法
文章图片

我们可以看到,snap 仓库中的 docker 是由开源公司 Canonical 基于 Docker 发布的源码构建的, channel中 docker 最新版有四个发行渠道,stable 中为20.10.8,其他三个渠道为 20.10.11。
使用 sudo snap install docker --candidate 安装 candidate 的docker。
sudo snap install docker --candidate

安装完成,测试一下。
sudo docker version sudo docker-compose version

Ubuntu|Ubuntu 20.04 安装 Docker 的两种方法
文章图片

【Ubuntu|Ubuntu 20.04 安装 Docker 的两种方法】两行代码安装完成~
致谢
  1. Win10 安装 Docker Desktop ( 基于WSL2,WSL vs Hyper-V)
  2. 什么是Docker?原理,作用,限制和优势简介
  3. Docker 官网 DOCS
  4. Ubuntu 20.04.3 桌面版换源的两种方法
  5. Docker Engine-Install Docker Engine
  6. Docker Compose-Install Docker Compose
  7. Docker Compose-Compose V2

    推荐阅读