一、检查卸载老版本docker
🧑🍼注意:以下的操作均在
root用户中进行。
ubuntu下自带了docker的库,不需要添加新的源。 但是ubuntu自带的docker版本太低,需要先卸载旧的再安装新的。
$ apt-get remove docker docker-engine docker.io containerd runc -
docker: 这是 Docker 软件的核心包,用于容器化应用程序和管理容器。 -
docker-engine: 这是 Docker 引擎的软件包,是 Docker 的核心组件之一。 -
docker.io: 这是 Docker 软件的另一个软件包。 -
containerd: 这是一个用于管理容器的守护进程,通常与 Docker 一起使用。 -
runc: 这是一个用于运行容器的轻量级工具,也是 Docker 中一个关键的组件。
综合起来,这个命令的作用是从系统中移除 Docker 相关的软件包,包括 Docker、Docker 引擎、Docker.io、Containerd 和 Runc。执行这个命令将卸载这些软件包,从而清理系统中与 Docker 相关的组件。请确保在执行此命令之前,你确实想要卸载这些软件包,并且理解这可能会影响到系统中正在运行的容器和相关服务。

二、安装步骤
1、更新软件包
在终端中执行以下命令来更新
Ubuntu软件包列表和已安装软件的版本
sudo apt update 
2、安装docker依赖
Docker在Ubuntu上依赖一些软件包。执行以下命令来安装这些依赖:
apt-get install ca-certificates curl gnupg lsb-release 这个命令是针对 Ubuntu 或者 Debian 等基于 APT (Advanced Package Tool) 包管理系统的 Linux 发行版。
-
ca-certificates: 这是一个包含公共 CA 证书的软件包,用于验证网络连接的安全性,特别是在使用 HTTPS 连接时。 -
curl: 这是一个用于在命令行下传输数据的工具,支持多种协议,如 HTTP、HTTPS、FTP 等。 -
gnupg: 这是 GNU Privacy Guard 的缩写,是一个用于加密和签名数据的工具,通常用于验证软件包的真实性。 -
lsb-release: 这是一个包含 Linux Standard Base (LSB) 版本信息的软件包,可以用于确定系统正在运行的 Linux 发行版的版本信息。
综合起来,这个命令的作用是安装 ca-certificates(CA 证书)、curl(数据传输工具)、gnupg(加密和签名工具)以及 lsb-release(Linux 发行版信息)。这些软件包在系统中具有不同的作用,例如确保安全的网络连接、数据传输、数据加密和签名,以及获取系统的发行版信息。
执行这个命令将安装这些软件包,使系统能够更好地支持安全的网络通信和数据传输,并提供其他相关功能。

3、添加Docker官方GPG密钥
执行以下命令来添加Docker官方的GPG密钥:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - 这个命令是一个用于在 Ubuntu 系统上安装 Docker 的命令:
-
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg: 这部分使用curl命令从指定 URL 下载文件。在这种情况下,它下载了一个 GPG 密钥,该密钥用于验证 Docker 软件包的真实性和完整性。-fsSL选项用于在下载文件时静默执行、跟随重定向、并支持 SSL。 -
|: 这是管道符号,用于将curl命令的输出传递给下一个命令。 -
sudo apt-key add -: 这部分使用apt-key命令向系统添加 GPG 密钥。在这个命令中,-表示从标准输入读取数据,也就是将curl命令下载的 GPG 密钥通过管道传递给apt-key add命令。
综合起来,这个命令的作用是从指定的 URL 下载 Docker 软件包的 GPG 密钥,并将其添加到系统的信任密钥列表中,以便在后续安装 Docker 软件包时进行验证。
请注意,这个命令中涉及的 URL 可能会根据实际情况而变化,以确保下载的是最新的 GPG 密钥。执行这个命令是安装 Docker 的准备步骤之一。安装成功界面如下:

4、添加Docker软件源
执行以下命令来添加Docker的软件源:
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" 这个命令是用于在 Ubuntu 系统上添加 Docker 软件源的命令:
-
sudo add-apt-repository: 这是一个用于向 APT 软件源列表中添加新软件源的命令。sudo用于以超级用户权限运行该命令,以确保权限足够来修改软件源列表。 -
"deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable": 这部分是要添加的软件源的具体信息:deb: 表示这是一个 Debian 软件源。[arch=amd64]: 指定了软件包适用的 CPU 架构,这里是指定为 amd64 架构。http://mirrors.aliyun.com/docker-ce/linux/ubuntu: 这是软件源的 URL,指向阿里云的 Docker 软件源。$(lsb_release -cs): 这部分会被替换为当前系统的 Ubuntu 版本代号,lsb_release -cs命令用于获取当前系统的发行版代号。stable: 这表示要添加的软件源是稳定版本的 Docker 软件包。
综合起来,这个命令的作用是向系统的软件源列表中添加一个指向阿里云 Docker 软件源的条目,以便在后续使用 APT 包管理器安装 Docker 时,系统能够从这个软件源获取相应的软件包。
执行这个命令将确保系统知道从哪里获取 Docker 软件包,并且能够在安装 Docker 时正确地从指定的软件源中下载所需的软件包。成功界面如下:

5、安装docker
执行以下命令来安装Docker:
apt-get install docker-ce docker-ce-cli containerd.io 这条命令是用于在 Ubuntu 系统上安装 Docker 相关软件包的命令:
-
apt-get install: 这是 Ubuntu 系统中用于安装软件包的命令,apt-get是一个包管理工具,用于从软件源中下载、安装和管理软件包。 -
docker-ce: 这是 Docker 社区版 (Community Edition) 的主要软件包,包含了 Docker 引擎和相关的工具。 -
docker-ce-cli: 这是 Docker 社区版的命令行客户端工具,用于与 Docker 引擎进行交互。 -
containerd.io: 这是一个用于管理容器运行时的工具,Docker 引擎使用它来管理容器的生命周期。
综合起来,这个命令的作用是使用 apt-get 包管理工具从系统的软件源中下载并安装 Docker 社区版的主要软件包 docker-ce、命令行客户端工具 docker-ce-cli,以及容器运行时管理工具 containerd.io。
执行这条命令后,系统将会下载这些软件包并安装在系统中,使得你可以开始在 Ubuntu 上使用 Docker 来构建、部署和运行容器化应用程序。中间会让你输入一次y,成功界面如下:

6、配置用户组(可选)
默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。
首先我们查看当前docker组中的成员。
getent group docker 
现在把用户lxl添加进docker用户组。
gpasswd -a lxl dockergetent group docker 如图所示,用户lxl已经被添加进docker用户组。

7、运行docker
我们可以通过启动docker来验证我们是否成功安装。命令如下:
systemctl start docker systemctl start docker 是一个用于在系统上启动 Docker 服务的命令:
-
systemctl:systemctl是一个用于管理 systemd 服务的命令行工具。systemd 是一个在许多现代 Linux 系统上用于启动、停止和管理系统服务的系统和服务管理器。 -
start:start是systemctl命令的一个参数,用于启动指定的服务。 -
docker:docker是要启动的服务的名称,这里指的是 Docker 服务,它允许你在系统上运行容器化应用程序。
因此,当你运行 systemctl start docker 命令时,它会告诉 systemd 启动 Docker 服务。这将启动 Docker 守护进程,使你能够开始在系统上运行和管理 Docker 容器。
8、安装工具
apt-get -y install apt-transport-https ca-certificates curl software-properties-common 这条命令是用于在 Debian 或 Ubuntu 等基于 Debian 的 Linux 发行版上安装软件包的命令:
-
apt-get:apt-get是一个用于管理 Debian 系统软件包的命令行工具。它可以用来安装、升级、删除和管理软件包。 -
-y:-y选项用于在安装软件包时自动回答 “yes”,即不需要用户手动确认安装操作。 -
install:install是apt-get命令的一个参数,用于指示apt-get安装指定的软件包。
接下来是要安装的软件包列表:
-
apt-transport-https: 这个软件包允许apt软件包管理器通过 HTTPS 协议下载软件包,这是一种安全的传输方式。 -
ca-certificates: 这个软件包包含了一组公共 CA 证书,用于验证 HTTPS 连接的安全性。 -
curl:curl是一个用于在命令行中传输数据的工具,可以用来下载文件或与 Web 服务器进行交互。 -
software-properties-common: 这个软件包包含一些常用的软件源管理工具,使你可以方便地添加、删除或管理系统上的软件源。
因此,运行 apt-get -y install apt-transport-https ca-certificates curl software-properties-common 这条命令将会安装这些软件包,以确保系统具备下载软件包、验证证书和管理软件源的必要工具。成功界面如下:

9、重启docker
service docker restart 10、验证是否成功
sudo docker run hello-world sudo docker run hello-world 是一个用于在 Docker 上运行容器的命令:
-
sudo:sudo是一个 Unix/Linux 系统中用于以超级用户或其他用户身份运行命令的命令。在这里,sudo被用来以超级用户权限来执行后续的 Docker 命令。 -
docker:docker是 Docker 容器化平台的命令行工具,用于构建、运行和管理容器。 -
run:run是docker命令的一个参数,用于运行一个新的容器。 -
hello-world:hello-world是一个在 Docker Hub 上提供的一个简单的示例镜像,用于展示 Docker 是否正确安装和运行。
因此,当你运行 sudo docker run hello-world 命令时,Docker 会下载 hello-world 示例镜像(如果本地没有),然后在一个容器中运行这个镜像。这个示例容器将输出一些信息,以确认 Docker 正确安装并能够运行容器。
运行命令后,结果如下:

三、简单操作
1、查看版本
我们可以通过下面的命令来查看docker的版本
sudo docker version 结果如下:

注意,如果是没有添加进docker用户组的,虽然可以查看版本,但是无法使用容器。

另外,用户被添加进用户组以后,也需要重新连接才可以访问,比如之前演示使用的lxl,重启后即可连接。

2、查看镜像
上面我们拉取了hello-world的镜像,现在我们可以通过命令来查看镜像,命令如下:
sudo docker images 结果如下图:

到这里就恭喜你,完成了docker的安装!














