文章背景
菜鸟之dokcer体验!
本教程主要介绍在 Ubunutu20.04 上安装 Docker。
Win10 安装 Docker Desktop ( 基于WSL2,WSL vs Hyper-V) 上介绍了如何在 Win10 上安装Docker Desktop。
不了解 Docker 的读者可以通过下面的文章链接,对 Docker 进行初步了解。
Red Hat 的科普文章:什么是Docker?原理,作用,限制和优势简介。
下面是 Docker 的官方文档,适合深入具体的了解。
官网 DOCS :Docker 官网 DOCS。
文章目标
- 换国内源+更新软件源;
- 第一种安装方法:官网安装方法;
- 第二种安装方法:snap安装。
1. 换国内源+更新软件源
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 的文件夹内容。
使用 snap 安装 docker ,是 Ubuntu 命令行的建议。笔者体验后,觉得 比官网的安装简单很多 ,所以在这里介绍。
使用 sudo snap info docker
命令查看仓库中 docker 的信息。
sudo snap info 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
两行代码安装完成~