Windows系统docker desktop安装(学习记录)
目前在学习docker,在网上扒了很多老师的教程,终于装好了,于是决定再装一遍做个记录,省的以后再这么麻烦
一:什么是docker
Docker 是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何支持 Docker 的平台上。容器类似于虚拟机,但更加轻量级,共享宿主机的操作系统内核,启动速度快,资源占用少,便于应用的快速部署和扩展。
二:docker的安装
2.1 开启虚拟化
首先打开任务管理器,进入到性能里CPU界面,查看下方的虚拟化是否已启用,如果显示已禁用,则需要去BIOS中查找与CPU配置或高级选项相关的设置,如“Intel VT”、“Intel VT-x”或“AMD-V”。将虚拟化设置更改为“启用”,然后保存退出就可以了
2.2 打开Hyper-V
打开控制面板,点击程序
点击<<启用或关闭Windows功能>>选项
然后依次勾选<<Hyper-V>>,<<Windows虚拟机监控程序平台>>,<<容器>>,<<适用于Linux的Windows子系统>>,<<虚拟机平台>>
2.3 wsl安装
用管理员身份去运行终端
然后输入命令行打开wsl功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
然后打开虚拟机
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
输入以下命令在 Windows 系统中快速安装并设置WSL,安装 Ubuntu Linux 发行版,方便我们在 Windows 环境下直接使用 Linux 系统和工具。然后你就会进入这个界面,输入你的ubuntu系统名和密码,就完成了
wsl --install -d Ubuntu
验证安装
2.4 docker安装
直接官网搜索docker,也可以直接点我去到下载界面,我下载的这个
下载完成后进行安装
安装完成!重启电脑
2.5 进入docker
选择同意
选择使用推荐设置即默认设置,直接finish
登录docker,这里我使用的GitHub账号进行登录
选择方向
选择想用docker做什么
然后就进到docker主界面了
三:修改镜像
设置国内镜像地址,把原本的代码更替成下面这个代码段
{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"features": {"buildkit": true},"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://cr.console.aliyun.com","https://mirror.ccs.tencentyun.com"]
}
更换完之后进行保存
四:查看安装是否成功
在终端内输入命令查看是否安装成功
docker --version
docker 常用命令
查看docker安装
docker ps 或者 ps -ef | grep docker查看docker服务:
systemctl status docke设置开启docker服务:
systemctl enable docker启动docker服务:
systemctl start docker查看mysql镜像
docker search mysql进入容器:
docker exec -it xxx bash
打开ubuntu:
wsl
退出输入:
exit
五:解决报错
我们做完这些之后可能会有下图这个错误
网上查了一下,这个错误通常出现在使用 Docker 与 WSL集成的时候,或者是在尝试获取 Ubuntu 发行版的用户主目录的时候。在我们当前安装的条件下,大概率是由于 WSL 版本不兼容导致的。我们查一下WSL版本,比如我的WSL显示是1,于是我把 WSL 从版本 1 升级到版本 2,这个报错就没出来了
查询当前WSL版本
wsl --list --verbose
在保证我们的系统支持WSL2的前提下,把我们的这个Ubuntu发行版升级到WSL2
wsl --update
wsl --set-version Ubuntu 2
验证升级是否成功
wsl --list --verbose
此时我们可以看到我的WSL版本已经默认为WSL2了
六:WSL2与docker集成
6.1 启动WSL
由于 Ubuntu
发行版当前处于 Stopped
状态,我们需要启动它
wsl -d Ubuntu
或者直接
wsl
6.2 启用 Docker Desktop 与 WSL 2 的集成
点击 Docker Desktop 的设置图标,选择 Settings
,在 Settings
中,进入 Resources
> WSL Integration
。启用 Enable integration with my default WSL distro
选项。我这边是把与其他发行版的集成启用也给打开了Enable integration with additional distros(个人感觉最好开一下)
6.3 验证WSL2与docker的集成
在 Windows 命令提示符中运行 wsl
或直接从开始菜单启动 Ubuntu。
在终端中,运行以下命令来验证 Docker 是否可用
docker --version
输出图中内容,则说明集成成功
6.4 测试集成是否成功
运行一个Docker 容器来测试
docker run -it --rm hello-world
如果输出类似以下内容,说明 Docker 在 WSL 2 中可以正常运行
6.5 在 WSL 2 中默认使用 Docker Desktop 的 Docker 守护进程,设置环境变量
6.5.1 在 WSL 2 的终端中,打开或创建 .bashrc
文件
nano ~/.bashrc
6.5.2 在文件末尾添加以下内容
6.5.2.1 使用键盘的箭头键(↑、↓、←、→)移动光标到文件的任意位置。
6.5.2.2 直接在光标位置输入你想要添加的内容。例如,添加以下环境变量:
export DOCKER_HOST="unix:///mnt/wsl/docker-desktop/docker.sock"
6.5.2.3 按下 ctrl+O(大写英文字母O),然后按下 Enter
键确认保存
6.5.2.4 按下 Ctrl + X
退出 nano
编辑器
6.5.3 验证更改
6..5.3.1 重新加载 ~/.bashrc
文件
source ~/.bashrc
6.5.3.2 运行以下命令验证环境变量是否设置成功
echo $DOCKER_HOST
6.5.3.3 如果输出为:unix:///mnt/wsl/docker-desktop/docker.sock
说明环境变量已正确设置。
以上步骤主要来源:
2024最新Windows安装docker教程
Windows 安装docker(详细图解)
环境搭建-Windows系统搭建Docker
相关文章:
Windows系统docker desktop安装(学习记录)
目前在学习docker,在网上扒了很多老师的教程,终于装好了,于是决定再装一遍做个记录,省的以后再这么麻烦 一:什么是docker Docker 是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个…...
操作系统学习笔记——[特殊字符]超详细 | 如何唤醒被阻塞的 socket 线程?线程阻塞原理、线程池、fork/vfork彻底讲明白!
💡超详细 | 如何唤醒被阻塞的 socket 线程?线程阻塞原理、线程池、fork/vfork彻底讲明白! 一、什么是阻塞?为什么线程会阻塞?二、socket线程被阻塞的典型场景🧠 解法思路: 三、线程的几种阻塞状…...
GIC驱动程序对中断的处理流程
承接上一篇,我们来讲讲GIC的处理流程: 我们先来看看老版本的CPU是怎么去处理中断的: 这种的话,基本上就是一开始就确定你有多少个中断,就为你分配好了多少个irq_desc,这样子每一个硬件中断,也就…...
罗庚机器人:机器人打磨领域的先行者
近日,记者在广东罗庚机器人有限公司(以下简称罗庚机器人)总经理蒲小平处了解到,该公司是一家研发与为客户提供高精度自适应机器人打磨抛光集成工艺的高科技企业,是机器人打磨领域的先行者。在国内外机器人打磨抛光应用…...
如何在 Java 中对 PDF 文件进行数字签名(教程)
Java 本身并不原生支持 PDF 文件,因此若要对 PDF 进行数字签名,您需要使用一些专用的软件。本教程将演示如何使用 JPedal PDF 库来对 PDF 文件进行数字签名。 步骤: • 下载 JPedal 并将 Jar 文件添加到项目中 • 创建一个 PKCS#12 密…...
一文了解:北斗短报文终端是什么,有哪些应用场景?
在通信技术飞速发展的今天,人们已习惯于依赖地面基站和互联网实现即时通信。然而,当自然灾害突发、远洋航行遇险或深入无人区勘探时,传统通信手段往往失效。北斗短报文终端——这一由中国自主研发的卫星通信技术,正以“无网络通信…...
【KWDB创作者计划】_KWDB应用之实战案例
【KWDB 2025 创作者计划】_KWDB应用之实战案例 本文是在完成KWDB数据库安装的情况下的操作篇,关于KWDB的介绍与安装部署,可以查看上一篇博客: https://blog.itpub.net/70045384/viewspace-3081187/ https://blog.csdn.net/m0_38139250/article/details/…...
JavaScript中的运算符与语句:深入理解编程的基础构建块
# JavaScript中的运算符与语句:深入理解编程的基础构建块 在JavaScript编程的世界里,运算符和语句就像是构建大厦的基石,它们是编写高效、灵活代码的基础。今天,我们就来深入了解一下这些重要的元素。 ## 一、运算符:…...
MySQL——学习InnoDB(1)
MySQL——学习InnoDB(1) 文章目录 MySQL——学习InnoDB(1)1. InnoDB的前世今生1.1 诞生发展1.2 核心设计1.3 关键进化 2. InnoDB和MyISAM在性能和安全上的区别2.1 性能对比2.2 安全对比 3. InnoDB架构图(内存结构磁盘结…...
QT中多线程写法
转自个人博客:QT中多线程写法 1. QThread及moveToThread() 使用情况: 多使用于需要将有着复杂逻辑或需要一直占用并运行的类放入子线程中执行的情况,moveToThread是将整个类的对象移入子线程。 优缺点: 优点:更符合…...
css 二维码始终显示在按钮的正下方,并且根据不同的屏幕分辨率自动调整位置
一、需求 “求职入口” 下面的浮窗位置在其正下方,并且浏览器分辨的改变(拖动浏览器),位置依旧在最下方 二、实现 <div class"btn_box"><div class"btn_link id"js-apply">求职入口<di…...
STM32 认识STM32
目录 什么是嵌入式? 认识STM32单片机 开发环境安装 安装开发环境 开发板资源介绍 单片机开发模式 创建工程的方式 烧录STM32程序 什么是嵌入式? 1.智能手环项目 主要功能有: 彩色触摸屏 显示时间 健康信息:心率&#…...
关于 CSDN的C知道功能模块 的详细解析,包括 新增的AI搜索(可选深度思考) 和 智能体功能 的具体说明及对比分析
以下是关于 CSDN的C知道功能模块 的详细解析,包括 新增的AI搜索(可选深度思考) 和 智能体功能 的具体说明及对比分析: 一、C知道核心功能模块详解(基础功能) (参考前文内容,此处略…...
Vue--组件练习案例
图片轮播案例: <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>Title</title></head><body><!--轮播图片--><div id"app"><h1>轮播图</h1…...
Sentinel源码—1.使用演示和简介一
大纲 1.Sentinel流量治理框架简介 2.Sentinel源码编译及Demo演示 3.Dashboard功能介绍 4.流控规则使用演示 5.熔断规则使用演示 6.热点规则使用演示 7.授权规则使用演示 8.系统规则使用演示 9.集群流控使用演示 1.Sentinel流量治理框架简介 (1)与Sentinel相关的问题 …...
空间信息可视化——WebGIS前端实例(二)
技术栈:原生HTML 源代码:CUGLin/WebGIS: This is a project of Spatial information visualization 5 水质情况实时监测预警系统 5.1 系统设计思想 水安全是涉及国家长治久安的大事。多年来,为相应国家战略,诸多地理信息领域的…...
高并发内存池(前言介绍)
高并发内存池项目介绍 1.项目介绍2.项目的知识储备要求3.了解池化技术及内存池4.本次项目中内存池解决的问题5.malloc 1.项目介绍 此项目是实现一个高并发的内存池,它的原型是google的一个开源项目tcmalloc,tcmalloc全程Thread-Caching Mallocÿ…...
误译、值对象和DDD伪创新-《分析模式》漫谈56
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 “Analysis Patterns”的第14章“类型模型设计模板模式”原文: Examples of such object types are the classic built-in data types of programming environments: inte…...
Java单例模式:实现全局唯一对象的艺术
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 一、什么是单例模式? 单例模式(Singleton Pattern)是一种创建型设计模式,确保一个类只有一个实例,…...
机器学习项目二:帕金森病检测
目录 下载数据 一、导入相关包 二、数据加载 三、特征工程 四、构建模型 五、评估与可视化 六、程序流程 七、完整代码 一、导入相关包 # 导入库部分 import numpy as np # 数值计算基础库 import pandas as pd # 数据处理库 from sklearn.preprocessing import MinMaxS…...
FreeDogs:AI、区块链与迷因文化的深度融合
引言 在 Web3 时代,人工智能(AI)、区块链技术和迷因文化的结合催生了一种全新的去中心化生态系统。FreeDogs 项目作为这一领域的创新代表,通过独特的技术与文化融合模式迅速受到关注。它利用 AI 驱动的智能营销网络推动迷因文化的…...
《组合优于继承:构建高内聚低耦合模块的最佳实践》
《组合优于继承:构建高内聚低耦合模块的最佳实践》 一、引言:编程范式中的选择 在软件设计中,继承和组合是两个重要的设计模式。继承(Inheritance)常被用来实现代码复用,但滥用继承容易导致脆弱的类层次结构,增加耦合度和维护成本。而组合(Composition)通过将功能分解…...
机器学习02——RNN
一、RNN的基本概念 定义 循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络架构。它与传统的前馈神经网络(如多层感知机)不同,RNN具有“记忆”功能,能够利用前一时…...
Java基础——面试自我总结
1、String类中常用方法和equals区别 答:对于和equals这两个都是用来比较判断是否相等,其中用来判断两个变量的值是否相等,变量的值的类型分为基本数据类型和引用数据类型。对于,基本数据类型是直接进行值比较,而对于引…...
低功耗设计:Level Shift的种类(以SAED EDK 32/28nm工艺库为例)
在多电压设计中,当信号从一个电压域跨越到另一个电压域时,需要使用电压转换器(Level Shift)。它的工作方式类似于缓冲器,但其输入和输出使用不同的电压,作用是将一个逻辑信号从一个电压转换为另一个电压,并在输入到输出…...
UE5 Chaos :渲染网格体 (Render Mesh) 和模拟网格体 是如何关联的?为什么模拟网格体 可以驱动渲染网格体?
官方文献:https://dev.epicgames.com/community/learning/tutorials/pv7x/unreal-engine-panel-cloth-editor 这背后的核心是一种常见的计算机图形学技术,通常称为代理绑定 (Proxy Binding) 或 表面变形传递 (Surface Deformation Transfer)。 关联机制…...
Fiddler为什么可以看到一次HTTP请求数据?
1、作为代理服务器 Fiddler作为代理服务器,拦截了设备与互联网服务器之间的所有HTTP和HTTPS流量。当客户端(如浏览器)发送请求时,请求先到达Fiddler,然后由Fiddler转发到目标服务器;服务器的响应也会返回给…...
RAG(Retrieval-Augmented Generation)召回算法是检索增强生成模型中的关键组件
RAG(Retrieval-Augmented Generation)召回算法是检索增强生成模型中的关键组件,其核心目标是从大规模文档库中高效检索与输入查询相关的信息,以辅助生成模型产生更准确的回答。以下是该算法的关键点解析: ### 1. **核…...
[NOIP 2003 普及组] 栈 Java
import java.io.*;public class Main {public static void main(String[] args) throws IOException {BufferedReader br new BufferedReader(new InputStreamReader(System.in));int n Integer.parseInt(br.readLine());int[] dp new int[n 1];dp[0] 1; // 空序列只有一种…...
5.5 GitHub数据秒级分析核心揭秘:三层提示工程架构设计解析
GitHub Sentinel Agent 分析报告功能设计与实现 关键词:GitHub 数据分析, 提示工程设计, Pull Request 分析, Issues 跟踪, 竞品对比 项目进展报告生成功能设计 报告生成模块是 GitHub Sentinel 的核心功能,通过三层嵌套式提示工程架构实现深度分析: #mermaid-svg-vdHRUan…...
PE文件(十五)绑定导入表
我们在分析Windows自带的一些程序时,常常发现有的程序,如notepad,他的IAT表在文件加载内存前已经完成绑定,存储了函数的地址。这样做可以使得程序是无需修改IAT表而直接启动,这时程序启动速度变快。但这种方式只适用于…...
如何快速部署基于Docker 的 OBDIAG 开发环境
很多开发者对 OceanBase的 SIG社区小组很有兴趣,但如何将OceanBase的各类工具部署在开发环境,对于不少开发者而言都是比较蛮烦的事情。例如,像OBDIAG,其在WINDOWS系统上配置较繁琐,需要单独搭建C开发环境。此外&#x…...
Multimodal-CoT与MCP的融合医疗AI编程路线探析
引言 在医疗AI领域,多模态数据融合与模块化系统设计是提升诊断精度和临床实用性的关键。Multimodal Chain-of-Thought(Multimodal-CoT)通过构建多源数据的推理链增强决策透明度,而Model Context Protocol(MCP)作为标准化接口协议,为AI系统提供灵活的数据源集成能力。两…...
基于单片机的智能养生油炸炉系统设计与实现
标题:基于单片机的智能养生油炸炉系统设计与实现 内容:1.摘要 本文针对传统油炸炉功能单一、无法满足现代养生需求的问题,设计并实现了基于单片机的智能养生油炸炉系统。通过采用STC89C52单片机作为控制核心,结合温度传感器、液位传感器、继电器等硬件&…...
MySQL流程控制
一:介绍 在 MySQL 中,流程控制语句用于控制存储过程和自定义函数中的程序流程。主要的流程控制语句包括:IF 语句、CASE 语句、LOOP 语句、LEAVE 语句、ITERATE 语句、REPEAT 语句和 WHILE 语句 (1):if条件…...
在思科模拟器show IP route 发现Gateway of last resort is not set没有设置最后的通道
如果在show ip route的时候出现没有设置最后的通道Gateway of last resort is not set Switch#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA exte…...
Java雪花算法
以下是用Java实现的雪花算法代码示例,包含详细注释和异常处理: 代码下面有解析 public class SnowflakeIdGenerator {// 起始时间戳(2020-01-01 00:00:00)private static final long START_TIMESTAMP 1577836800000L;// 各部分…...
【中大厂面试题】TCP 校招 java 后端最新面试题
TCL(一面) 1. Spring 初始化Bean前要做什么?有几种方式 在 Spring 容器调用 Bean 的初始化方法(如 init-method、PostConstruct 等)之前,会按顺序完成以下关键步骤:实例化 → 属性注入 → Aw…...
【教学类-102-11】蝴蝶外轮廓01——Python对黑白图片进行PS填充三种颜色+图案描边+图案填充白色+制作1图2图6图24图
背景需求: 用Python,对白色255背景的图片进行了透明化、制作点状或线段的描边裁剪线 【教学类-102-10】剪纸图案全套代码09——Python线条虚线优化版04(原图放大白背景)+制作1图2图6图24图-CSDN博客文章浏览阅读1k次,点赞27次,收藏8次。【教学类-102-10】剪纸图案全套代…...
【数据库系统概论】第3章 SQL(四)视图(超详细)
视图(View)是数据库中的虚拟表 通过执行查询定义并存储在数据库中,可以像普通表一样被查询和使用。 视图本身并不存储数据,而是基于一个或多个表的查询结果动态生成。 视图的概念 视图( View )是由其它表或视图上的查询所定义…...
HTTP:六.HTTP代理相关介绍
什么是HTTP代理 代理是指获授权代表他人执行操作的人员,代理服务器在在线世界中提供此操作。 代理服务器 充当用户和互联网之间的网关,并防止访问网络以外的任何人。通过 Web 浏览器定期访问互联网,使用户能够直接与网站连接。但是代理充当中间人,代表用户与网页通信。 当…...
【Python爬虫】详细工作流程以及组成部分
目录 一、Python爬虫的详细工作流程 确定起始网页 发送 HTTP 请求 解析 HTML 处理数据 跟踪链接 递归抓取 存储数据 二、Python爬虫的组成部分 请求模块 解析模块 数据处理模块 存储模块 调度模块 反爬虫处理模块 一、Python爬虫的详细工作流程 在进行网络爬虫工…...
深入解析UML图:版本演变、静态图与动态图详解
目录 前言1 UML的版本演变1.1 UML 1.x阶段:统一的开始1.2 UML 2.x阶段:功能的扩展与深化 2 UML图的分类概述3 UML静态图详解3.1 类图(Class Diagram)3.2 对象图(Object Diagram)3.3 组件图(Comp…...
老旧测试用例生成平台异步任务与用户通知优化
在现代 Web 开发中,异步任务处理和用户通知是两个重要的功能。由于老旧测试平台【测试用例生成平台,源码分享】进行智能化升级后,未采用异步任务处理,大模型推理时间较长,导致任务阻塞,无法处理其他任务&am…...
数据结构初阶:队列
本篇博客主要讲解队列的相关知识。 目录 1.队列 1.1 概念与结构 1.2 队列头文件(Queue.h) 1.2.1 定义队列结点结构 1.2.2 定义队列的结构 1.3 队列源代码(Queue.h) 1.3.1 队列的初始化 1.3.2 队列的销毁 1.3.3 入队---队尾 1…...
苍穹外卖。12 数据统计
12.1 工作台 12.1.1 需求分析与设计 12.1.2 代码导入 12.1.3 测试 测试通过 12.2 Apache POI 12.2.1 需求分析与设计 12.2.2 案例 column表示索引行...
WebSocket 和 HTTP长轮询
一、HTTP长轮询(Long Polling) 1. 工作原理 传统轮询(低效):客户端每隔几秒向服务器发一次请求,问“有新数据吗?”,即使服务器没有数据也会立即返回“无”。长轮询(改进…...
高等数学同步测试卷 同济7版 试卷部分 上 做题记录 第三章微分中值定理与导数的应用同步测试卷 B 卷
第三章微分中值定理与导数的应用同步测试卷 B 卷 一、单项选择题(本大题共5小题,每小题3分,总计15分) 1. 2. 3. 4. 5. 二、填空题(本大题共5小题,每小题3分,总计15 分) 6. 7. 8. 9. 10. 三、求解下列各题(本大题共5小题,每小题6分,总计 3…...
生成式引擎优化(GEO)发展史与行业标准演变
一、生成式引擎优化(GEO)发展史与行业标准演变 随着 ChatGPT、Bard、Claude、文心一言等生成式AI搜索产品快速发展,GEO(Generative Engine Optimization,生成式引擎优化)也应运而生,成为继SEO、…...
美客多自养号测评技术解析:如何低成本打造安全稳定的测评体系
美客多(MercadoLibre)自养号测评系统的搭建需综合考虑硬件、软件、网络环境及操作流程的合规性,以下是基于多篇行业指南整理的核心步骤与要点: 一、前期规划与准备 1. 明确目标与规则 • 确定测评目的(如提升产品曝…...