服务器不会用?教你ubuntu 安装 docker
一、检查卸载老版本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的安装!
-
-
-
-
-
-
-
-