一、检查卸载老版本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 docker getent 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的安装!