如何在Debian 10安装Docker

Docker是一个容器化平台,可让您快速构建,测试和部署应用程序,作为可在任何平台运行的可移植自足容器

6 min read
By myfreax
如何在Debian 10安装Docker

Docker是一个开放源代码的容器化平台,可让您快速构建,测试和部署应用程序。 docker的镜像实例称为容器,容器一般是应用程序的运行时,并包含软件需要运行的所有内容。

Docker是现代软件开发和DevOps持续集成和部署管道的重要组成部分。本教程介绍了如何在Debian 10计算机上安装Docker。

可以从标准Debian 10存储库中安装Docker,但它不一定总是最新版本。我们将从官方Docker库中安装最新的Docker软件包。

在Debian 10上安装Docker非常简单。 我们将启用Docker存储库,导入存储库GPG密钥,然后安装Docker。

首先,使用apt update更新软件包索引,接着使用apt remove移除旧版本的docker。安装下载Docker的必要依赖例如curl等。

然后使用curl命令导入docker存储库的GPG密钥。使用add-apt-repository将Docker APT存储库添加到您的系统。

现在我们已经将这些过程整合一个命令中,你可直接运行以下使用HereDoccat命令整合的脚本一键安装Docker。脚本将会安装最新的稳定版本的Docker。

cat <<"EOF" | bash                              
sudo apt update && \
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y && \
sudo apt-get remove docker  docker.io containerd runc -y && \
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - && \
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" && \
sudo apt update && \
sudo apt install docker-ce docker-ce-cli containerd.io -y
EOF

当脚本运行完成时,你的Debian计算机已经安装Docker的最新稳定版本。安装完成后,Docker服务也将会自动启动。

当发布新版本的Docker时,Docker都会随着系统更新而升级,当然您可以手动运行sudo apt update && sudo apt upgrade来更新/升级docker。

您可以运行命令sudo systemctl status docker来检查Docker服务的状态来以验证Docker是否正确的安装。

默认情况下,Docker从Docker Hub合并镜像。这是一项基于云的注册服务。

Docker在合并镜像时默认使用的是Docker Hub的地址,但在GFW之下,Docker Hub下载速度会非常慢。

在不使用代理加速的情况下,虽然还能使用。但是使用镜像加速会好很多,朝内也有很多docker镜像,有些是有限制的。总的来说还是阿里云镜像好用。

由于文章篇幅不宜过多,你可参考我们教程使用阿里云的仓库配置Docker镜像

配置Docker阿里云镜像 | myfreax
在GFW之下,Docker Hub在不使用代理加速的情况下,虽然还能使用,但是使用镜像加速会好很多,国内也有很多docker镜像,有些是有限制的,总的来说还是阿里云镜像好用

不使用sudo运行docker

默认情况下,只有root用户,具有sudo权限的用户以及docker组成员可以执行docker命令。

但是docker我们经常使用的命令,没有必须每次运行docker都使用或者切换docker用户。

如果在要以非root用户或者docker用户运行Docker,您需要将您的用户添加到docker组中。

docker组的成员可以运行docker,而不必每次使用sudo命令切换用户运行。你可使用usermod命令将当前用户追加到docker组中。

sudo usermod -aG docker $USER
newgrp docker

$USER是保存您当前用户名的环境变量newgrp命令使usermod命令更改在当前终端中生效。

现在您可以在不添加sudo的情况下执行docker命令,让我们将运行Docker官方Hello-World测试容器docker container run hello-world以是否正确配置。

该命令将下载测试镜像,然后运行它,它将打印Hello from Docker消息。由于没有长时间运行的进程,因此容器在打印完消息后将停止。

卸载Docker

卸载Docker之前,最好删除所有容器,镜像,卷和网络。否则你计算机将会存在大量docker镜像,docker的临时数据。占用着你磁盘空间。

当然你也可以保留数据直接卸载Docker。如果你保留Docker的数据我们建议你使用sudo apt remove containerd.io docker-compose-plugin docker-ce卸载Docker。

如果你删除了Docker所有数据,可以使用sudo apt purge containerd.io docker-compose-plugin docker-ce卸载Docker。这也会把Docker的配置文件删除。

安装旧版本Docker

要安装旧版本的Docker,你需要先使用apt list列出Docker储存库中的所有可用版本。

由于Docker是由docker-ce,docker-ce-cli,containerd.io组件构建,因此如果你在安装某个指定版本docker-ce,你必须安装相对应docker-ce-cli,containerd.io版本。

你可以使用sudo apt list -a  docker-ce docker-ce-cli containerd.io同时列出docker的三个组建的版本。

apt list命令的结果中将会向你展示已经安装的版本,你应该会注意到已安装的版本后面有[installed]的标记。其它则为未安装的版本。

例如我们需要安装之前docker-ce 20.10.16的版本,那么docker-ce-cli对应的版本是20.10.16,containerd.io对应的版本是1.6.4-1

由于每次更新系统或者发布新版本的Docker时,Docker都会随着系统更新而升级,你可能想阻止Docker升级,而不影响系统升级。

如果你需要要阻止Docker升级或者更新,可使用apt-mark hold命令将docker-ce标记为禁止更新。docker将会一直停留你安装的版本。

sudo apt install docker-ce=5:20.10.16~3-0~debian-focal
sudo apt install containerd.io=5:20.10.16~3-0~debian-focal
sudo apt install docker-ce-cli=1.6.4-1
sudo apt-mark hold docker-ce

结论

我们已向您展示了如何在Debian 10计算机上安装Docker。 要了解有关Docker的更多信息,请查看官方 Docker文档。如有任何疑问,请在下面发表评论。