在Ubuntu-22.04 [WSL2]中配置Docker

文章目录

  • 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
    在这里插入图片描述
  • 说明安装的软件包
    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
    在这里插入图片描述
{"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 应用之旅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/485702.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI大模型ollama结合Open-webui

AI大模型Ollama结合Open-webui 作者:行癫(盗版必究) 一:认识 Ollama 1.什么是Ollama ​ Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和…

使用ensp搭建内外互通,使用路由跨不同vlan通信。

1.网络拓扑图 2.规则 (1)允许 (自己)ping通内外网,内外网随便一个pc就可以. (2) 允许(电信)ping通内外网,内外网随便一个pc就可以 (时间问题不做…

gRPC 快速入门 — SpringBoot 实现(1)

目录 一、什么是 RPC 框架 ? 二、什么是 gRPC 框架 ? 三、传统 RPC 与 gRPC 对比 四、gRPC 的优势和适用场景 五、gRPC 在分布式系统中应用场景 六、什么是 Protocol Buffers(ProtoBuf)? 特点 使用场景 简单的…

Python实现BBS论坛自动签到【steamtools论坛】

一、知识点分析 1.requests模块介绍 ‌requests模块是Python中用于发送HTTP请求的一个库,它封装了urllib3库,提供了更加便捷的API接口。‌ 通过使用requests模块,用户可以模拟浏览器的请求,发送HTTP请求到指定的URL,并获取响应内容。与urllib相比,requests模块的API更加…

Probabilistic Face Embeddings 论文阅读

Probabilistic Face Embeddings 论文阅读 Abstract1. Introduction2. Related Work3. Limitations of Deterministic Embeddings4. Probabilistic Face Embeddings4.1. Matching with PFEs4.2. Fusion with PFEs4.3. Learning 5. Experiments5.1. Experiments on Different Bas…

重磅升级:OpenAI o1模型上手实测,从芯片架构分析到象棋残局判断的全能表现

引言 昨日,在圣诞节系列发布会的第一天,OpenAI终于给我们带来了令人振奋的更新,这些更新有望塑造AI互动的未来。备受期待的OpenAI o1正式版的推出,标志着ChatGPT体验的重大进化,宣告了AI驱动应用新时代的开始。o1现已可…

1.使用docker 部署redis Cluster模式 集群3主3从

1.使用docker 部署redis Cluster模式 集群3主3从 1.1 先安装docker 启动docker服务,拉取redis镜像 3主3从我们要在docker启动6个容器docker run --name redis-node-1 --net host --privilegedtrue -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-…

如何通过 Windows 自带的启动管理功能优化电脑启动程序

在日常使用电脑的过程中,您可能注意到开机后某些程序会自动运行。这些程序被称为“自启动”或“启动项”,它们可以在系统启动时自动加载并开始运行,有时甚至在后台默默工作。虽然一些启动项可能是必要的(如杀毒软件)&a…

记一次跑前端老项目的问题

记一次跑前端老项目的问题 一、前言二、过程1、下载依赖2、启动项目3、打包 一、前言 在一次跑前端老项目的时候,遇到了一些坑,这里记录一下。 二、过程 1、下载依赖 使用 npm install下载很久,然后给我报了个错 core-js2.6.12: core-js…

在米尔FPGA开发板上实现Tiny YOLO V4,助力AIoT应用

学习如何在 MYIR 的 ZU3EG FPGA 开发板上部署 Tiny YOLO v4,对比 FPGA、GPU、CPU 的性能,助力 AIoT 边缘计算应用。 一、 为什么选择 FPGA:应对 7nm 制程与 AI 限制 在全球半导体制程限制和高端 GPU 受限的大环境下,FPGA 成为了中…

Python爬虫之selenium库驱动浏览器

目录 一、简介 二、使用selenium库前的准备 1、了解selenium库驱动浏览器的原理 (1)、WebDriver 协议 (2)、 浏览器驱动(Browser Driver) (3)、 Selenium 客户端库 &#xff0…

从零开始学TiDB(2)深入了解TiDB Server模块

TiDB Server 架构 TiDB Server 的主要功能: 一条SQL的执行流程: 1.将整个SQL语句解析成一个个的token,生成一个树形结构。 2.编译模块 1.首先需要做一个合法性验证,比如表存不存在等。 2.做逻辑优化:依据关系型代数等…

dbnet轻型网络文本检测 - python 实现

DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球(free)” -------------------------------------------------------------…

玩《三角洲行动》遇到游戏运行故障是什么原因?游戏运行故障要怎么解决?预防游戏运行故障问题出现

《三角洲行动》游戏运行故障解析与解决方案:原因、解决与预防 在畅游《三角洲行动》这款充满挑战与激情的游戏时,玩家可能会遭遇各种游戏运行故障,如卡顿、闪退、无法启动等问题。我将结合自己丰富的经验和知识,为大家深入剖析《…

【Axure高保真原型】数值条件分组

今天和大家分享数值条件分组的原型模板,效果包括: 点击添加分组按钮,可以显示添加弹窗,填写分组名称和数值区间后,可以新增该分组信息‘’ 修改分组区间,可以直接在输入框里修改已有的分组区间&#xff0c…

「Mac畅玩鸿蒙与硬件40」UI互动应用篇17 - 照片墙布局

本篇将带你实现一个简单的照片墙布局应用,通过展示多张图片组成照片墙效果,用户可以点击图片查看其状态变化。 关键词 UI互动应用照片墙布局Grid 布局动态图片加载用户交互 一、功能说明 照片墙布局应用的特点: 动态加载多张图片组成网格布…

【Golang】Golang基础语法之面向对象:结构体和方法

面向对象——结构 Go 仅支持封装,不支持继承和多态;继承和多态要做的事情交给接口来完成,即——面向接口编程。Go 只有 struct,没有 class。 定义一个最简单的树节点(treeNode)结构,方法如下&…

AI 建站:Durable

网址:https://app.durable.co 步骤 1) 登录 2)点击创建新业务 3)填写信息后,点击创建 4)进入业务 5)生成网站 6)生成完成后不满意的话可以自己调整 7)点击保存 8)发布 …

UML箭线图的理解和实践

在软件开发的世界里,UML(统一建模语言)作为一种标准化的建模语言,扮演着举足轻重的角色。UML类图更是软件开发设计和架构过程中的核心工具,它不仅能帮助开发者明确系统中的类及其关系,还能为后续的代码实现…

centos7.6安装oracle 11g 保姆级教程

文章目录 一、配置基础环境1. 下载依赖2. 禁用linuxse3. 其他服务禁用4. 修改内核参数5. 修改limit6. 修改pam7. 创建用户组及目录8. 设置密码9. 设置目录10. 配置环境变量 安装jdk1. 获取默认安装信息: rpm -qa | grep java,如果得到如下信息则需要逐一…