在Ubuntu-22.04 [WSL2]中配置Docker

文章目录

  • [0. 进入Ubuntu-22.04](#0. 进入Ubuntu-22.04)
  • [1. 更新系统软件包](#1. 更新系统软件包)
  • [2. 安装Docker相关依赖包](#2. 安装Docker相关依赖包)
  • [3. 添加Docker官方GPG密钥](#3. 添加Docker官方GPG密钥)
  • [4. 添加Docker软件源](#4. 添加Docker软件源)
  • [5. 安装Docker Engine](#5. 安装Docker Engine)
    • [5.1 更新软件包列表](#5.1 更新软件包列表)
    • [5.2 安装Docker相关软件包](#5.2 安装Docker相关软件包)
  • [6. 验证Docker安装是否成功](#6. 验证Docker安装是否成功)
    • [6.1 查看Docker版本信息](#6.1 查看Docker版本信息)
    • [6.2 启动Docker](#6.2 启动Docker)
    • [6.3 配置镜像加速器](#6.3 配置镜像加速器)
    • [6.4 运行一个简单的测试容器](#6.4 运行一个简单的测试容器)
    • [6.6 Docker拉取MySQL镜像](#6.6 Docker拉取MySQL镜像)
  • [7. 实战总结](#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
  • 说明安装的软件包
    1. apt-transport-https:这个软件包允许apt使用https协议来下载软件包。通常情况下,默认的apt仓库使用http协议,但对于一些安全要求较高的软件(如Docker),其仓库使用https协议,所以需要安装这个软件包来支持通过https下载。
    2. ca-certificates:包含了一系列的根证书,用于验证软件包来源的合法性。当通过https下载软件时,系统需要使用这些证书来确认下载的软件是来自可信的源。
    3. curl:是一个用于从服务器获取数据或者文件的工具。在这里主要用于从Docker官方网站下载安装脚本或者获取一些配置信息。
    4. 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
  • 命令说明
    1. 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会自动跟踪重定向并下载最终指向的文件。
    2. 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
  • 命令说明
    1. 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获取当前系统的架构,如amd64arm64等)和用于验证软件包的GPG密钥文件路径。
      • https://download.docker.com/linux/ubuntu:是Docker软件包的下载地址。
      • $(lsb_release -cs):获取当前Ubuntu系统的发行版代号(如jammy),用于确定要下载哪个版本对应的软件包。
      • stable:表示要下载稳定版本的Docker软件包。
    2. sudo tee /etc/apt/sources.list.d/docker.list > /dev/nulltee命令用于将前面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
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 应用之旅。
相关推荐
cdg==吃蛋糕27 分钟前
docker代理配置
docker·容器·eureka
web135085886351 小时前
使用docker compose安装gitlab
docker·容器·gitlab
IT机器猫2 小时前
Docker完整技术汇总
运维·docker·容器
董健正2 小时前
Docker安装
docker·容器·docker-compose
gs801402 小时前
替换 Docker.io 的 Harbor 安全部署指南:域名与 IP 双支持的镜像管理解决方案
docker·harbor
coco_1998_22 小时前
nvidia docker, nvidia docker2, nvidia container toolkits区别
docker·容器
团儿.2 小时前
Docker服务发现新纪元:探索Consul的无限魅力
运维·docker·云计算·服务发现·consul
赵大仁3 小时前
在 CentOS 7 上安装 Node.js 20 并升级 GCC、make 和 glibc
linux·运维·服务器·ide·ubuntu·centos·计算机基础
vvw&3 小时前
Docker Build 命令详解:在 Ubuntu 上构建 Docker 镜像教程
linux·运维·服务器·ubuntu·docker·容器·开源
dessler4 小时前
Docker-Dockerfile讲解(二)
linux·运维·docker