如何在Ubuntu20.04安装Docker

Docker 是一个开源容器化平台,允许您快速构建、测试和部署应用程序作为几乎可以在任何地方运行的便携式容器。容器代表单个应用程序的运行时,包括软件运行所需的一切。

Docker 是现代软件开发和 DevOps 持续集成和部署管道不可或缺的一部分。

本教程介绍了如何在 Ubuntu 20.04 机器上安装 Docker。

Docker 可从 Ubuntu 20.04 的库中安装,但它可能并不总是最新版本。为了确保我们能安装到最新的版本,我们可以从官方 Docker 的存储库安装最新的 Docker 包。

在Ubuntu20.04中安装Docker

在 Ubuntu 上安装 Docker 还是相当简单的。我们只需要将开启 Docker 应用库,导入应用库 GPG 密钥,并安装应用包就可以。具体的操作如下面:

首先,我们需要更新一下应用包的索引,因为我们要导入新的HTTPS应用库(repository),所以在此之前我们需要安装一下所需的依赖项:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

使用以下curl命令导入应用库的 GPG 密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

有了密钥后,我们就可以把APT应用库加载入我们的系统:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

这样我们的Docker应用库就已经配置完成,你现在就可以安装任意版本的Docker,只要应用库里有的就行。

1.安装最新版本的Docker

下面的Commands是用于安装最新版本的Docker,如果你想安装指定的某一个版本时,你可以跳过这一步,直接按第二步骤:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
2.安装指定版本Docker

如果你想安装指定的Docker版本,你先查看当前可安装的版本清单List:

sudo apt update
apt list -a docker-ce
Docker version list

根据上面的列表,我们就可以安装上面任一版本的Docker:

sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io

Docker在你安装成功后会自动运行,不需要再手动开启。你也可以通过下面的命令判断是否正常运行:

sudo systemctl status docker
Docker status

如何升级Docker或停止升级?

如果你想更新Docker,只需要运行标准的APT应用库更新命令:

sudo apt update && sudo apt upgrade

但当你让该版本永远不要更新或升级,那你可以运行:

sudo apt-mark hold docker-ce

让非root权限的用户不加sudo运行Docker

在默认情况下,只有root或有sudo权限的用户才可以运行Docker. 如果你想用非root用户不需要使用sudo就可以运行Docker时,你可以把用户添加到Docker Group. 我们先创建一个docker的用户组(正常安装docker时会自动创建这个用户组,如提示已有该用户组,则可跳过):

sudo groupadd docker

然后再把“当前用户”放进到docker用户组里:

sudo usermod -aG docker $USER

$USER 是一个环境变量,如何使用Ubuntu中的环境变量我们在后面有机会再详细解说。这样所有当前用户就成了docker用户组一员。重启docker后就可生效:

sudo service docker restart

正常我们在这里就可以不加sudo的运行docker了,但是我们会发现我们运行docker ps查看容器列表时,会报下面的错:

根据上面的显示,原来docker用户组没有读写 /var/run/docker.sock的权限,为了能正常运行,那我们可以修改路径权限为666:

sudo chmod 666 /var/run/docker.sock

这样我们就可以直接使用docker命令,而不需要加上sudo了。

运行第一个Docker容器

我们可以通过运行Docker一个新的容器(hello-world)来测试安装是否正确(我们也配置成不需要sudo):

docker container run hello-world

如果有上面的信息证明你已成功安装Docker并运行了第一个容器hello-world

但这个容器没有持久运行,在显示完上面信息后它就自动停止了。

在默认情况下,我们是通过Docker Hub来下载容器镜像的,Docker Hub是一片容器海洋,你可以在上面找到几乎你想要的。

如果真的找不到,那你就可以自己学首创建一个镜像吧!

卸载Docker

在卸载Docker之前,你需要先把当前的容器(containers),镜像(Images),存储(volumes)还有网络统统都清理掉。

你可以运行下面Commands停止所有运行中的容器及其相关:

docker container stop $(docker container ls -aq)
docker system prune -a --volumes

接下来你就可以把Docker及相关依赖包都删除干净(Docker这么好用为什么要删除呢?):

sudo apt purge docker-ce
sudo apt autoremove

如果没有什么报错,那恭喜你,你也删除了一款非常不错的应用工具。

写在最后

Docker 是一款当前非常流行容器工具,如果你在一个服务器上需要部署很多不同的应用与不同的应用环境时,你就知道Docker带给我们的是一个什么样的体验。毫不夸张的说,Docker至少提高了几倍我的部署能力与迁移服务器时的效率。他就像你把房子建在一个集装箱里面,今天你的集装箱可以在巴黎享受一下法国的浪漫,明天你就可以把集装箱拉到法国后花园塞内加尔享受一下海滩,但你知道吗,却一直住的是同一套房子,你的生活环境一点也没有变,变的只有Location(IP). 这是相当有趣的事!

想学更多关于Docker? 去看看官方文档或是官方教程

有想法?留言给我吧!

一条评论

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注