文章目录
- 0. 进入Ubuntu-22.04
- 1. 更新系统软件包
- 2. 安装Docker相关依赖包
- 3. 添加Docker官方GPG密钥
- 4. 添加Docker软件源
- 5. 安装Docker Engine
- 5.1 更新软件包列表
- 5.2 安装Docker相关软件包
- 6. 验证Docker安装是否成功
- 6.1 查看Docker版本信息
- 6.2 启动Docker
- 6.3 配置镜像加速器
- 6.4 运行一个简单的测试容器
- 6.6 Docker拉取MySQL镜像
- 7. 实战总结
0. 进入Ubuntu-22.04
- 在PowerShell里执行命令:
wsl -d Ubuntu-22.04
1. 更新系统软件包
- 在安装Docker之前,首先要确保系统的软件包列表是最新的
- 执行命令:
sudo apt -y update
- 执行命令:
sudo apt -y upgrade
- 说明:
sudo apt -y update
命令用于更新软件包列表信息,让系统知道可以安装的软件包的最新版本;sudo apt -y upgrade
命令用于将已安装的软件包升级到最新版本。-y
参数表示自动回答“是”,这样在更新和升级过程中就不会因为需要用户确认而中断。
2. 安装Docker相关依赖包
- 安装一些必要的软件包,这些软件包允许通过HTTPS来获取软件包,以及用于验证软件包的完整性的工具。
- 执行命令:
sudo apt -y install apt-transport-https ca-certificates curl software-properties-common
- 说明安装的软件包
apt-transport-https
:这个软件包允许apt
使用https
协议来下载软件包。通常情况下,默认的apt
仓库使用http
协议,但对于一些安全要求较高的软件(如Docker),其仓库使用https
协议,所以需要安装这个软件包来支持通过https
下载。ca-certificates
:包含了一系列的根证书,用于验证软件包来源的合法性。当通过https
下载软件时,系统需要使用这些证书来确认下载的软件是来自可信的源。curl
:是一个用于从服务器获取数据或者文件的工具。在这里主要用于从Docker官方网站下载安装脚本或者获取一些配置信息。software-properties-common
:提供了管理软件源(repository)的功能,比如添加或者删除软件源等操作。
3. 添加Docker官方GPG密钥
- 为了确保下载的Docker软件包是正版且没有被篡改,需要添加Docker官方的GPG密钥。
- 执行命令:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 命令说明
curl -fsSL https://download.docker.com/linux/ubuntu/gpg
:使用curl
工具从Docker官方指定的网址(https://download.docker.com/linux/ubuntu/gpg
)下载GPG密钥文件。-f
参数表示在下载过程中如果出现错误,curl
会直接返回错误信息而不是输出HTML文档。-s
参数表示静默模式,不显示下载进度。-L
参数表示如果下载的链接是一个重定向链接,curl
会自动跟踪重定向并下载最终指向的文件。sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
:使用gpg
工具对下载的密钥文件进行处理。--dearmor
参数表示将密钥文件转换为一种更适合存储和分发的格式。-o /usr/share/keyrings/docker - archive - keyring.gpg
指定了输出文件的路径和名称,即将转换后的密钥文件存储在/usr/share/keyrings
目录下,文件名为docker - archive - keyring.gpg
。
4. 添加Docker软件源
- 添加Docker软件源到系统的软件源列表中,这样系统就知道从哪里下载Docker软件包。
- 执行命令:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 命令说明
echo "deb [arch=$(dpkg --print - architecture) signed-by=/usr/share/keyrings/docker - archive - keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
:这个命令用于生成要添加到软件源列表中的内容。deb
:表示这是一个Debian
类型的软件源(Ubuntu是基于Debian的,所以使用deb
)。[arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]
:指定了软件包的架构(通过dpkg --print-architecture
获取当前系统的架构,如amd64
或arm64
等)和用于验证软件包的GPG密钥文件路径。https://download.docker.com/linux/ubuntu
:是Docker软件包的下载地址。$(lsb_release -cs)
:获取当前Ubuntu系统的发行版代号(如jammy
),用于确定要下载哪个版本对应的软件包。stable
:表示要下载稳定版本的Docker软件包。
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
:tee
命令用于将前面echo
命令生成的内容写入到/etc/apt/sources.list.d/docker.list
文件中。> /dev/null
表示将tee
命令的标准输出重定向到/dev/null
(一个特殊的设备文件,用于丢弃数据),这样就不会在终端中显示多余的信息。
5. 安装Docker Engine
5.1 更新软件包列表
- 执行命令:
sudo apt -y update
- 再次执行
sudo apt -y update
是为了更新软件包列表,让系统能够识别刚刚添加的Docker软件源中的软件包。
5.2 安装Docker相关软件包
- 执行命令:
sudo apt -y install docker-ce docker-ce-cli containerd.io
- 软件包说明
docker - ce
:是Docker社区版(Community Edition)的核心软件包,包含了运行Docker容器所需的基本组件。docker - ce - cli
:提供了用于操作Docker容器的命令行接口。containerd.io
:是一个容器运行时(container runtime),它是Docker架构中的底层组件,负责管理容器的生命周期等操作。
6. 验证Docker安装是否成功
6.1 查看Docker版本信息
- 执行命令:
docker version
- 执行命令:
sudo update-alternatives --config iptables
,注意类型选择:1
- 执行命令:
docker version
6.2 启动Docker
- 执行命令:
sudo service docker start
6.3 配置镜像加速器
- 执行命令:
vim /etc/docker/daemon.json
{"registry-mirrors": ["https://9871944d085e4817a11247169cc16509.mirror.swr.myhuaweicloud.com"]
}
6.4 运行一个简单的测试容器
- 执行命令:
docker run hello-world
- 这个命令会从Docker官方仓库中下载一个名为
hello-world
的测试容器并在本地运行。如果一切正常,终端会显示一些欢迎信息,表明Docker能够正常拉取和运行容器。
6.6 Docker拉取MySQL镜像
- 执行命令:
docker pull mysql:8.0
7. 实战总结
- 本次 Docker 安装实战从系统准备起步,先更新软件包与升级系统,接着安装关键依赖包以满足安全与协议需求,添加官方 GPG 密钥及软件源确保软件包正版可信与可获取。成功安装 Docker Engine 后,依次进行了安装验证,涵盖查看版本、启动服务、配置镜像加速器并运行测试容器。最后拉取 MySQL 8.0 镜像展示其应用场景。整体流程严谨有序,关键在于理解各步骤原理及作用,熟悉命令操作,为后续复杂的容器化应用部署筑牢根基,开启高效的 Docker 应用之旅。