文章背景
菜鸟之 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. 换国内源 + 更新软件源
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=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> 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
两行代码装置实现~
致谢
- Win10 装置 Docker Desktop (基于 WSL2,WSL vs Hyper-V)
- 什么是 Docker?原理,作用,限度和劣势简介
- Docker 官网 DOCS
- Ubuntu 20.04.3 桌面版换源的两种办法
- Docker Engine-Install Docker Engine
- Docker Compose-Install Docker Compose
- Docker Compose-Compose V2