如何在Windows上使用Docker
引言
WSL2(Windows Subsystem for Linux2)是微软开发的一种技术,允许在 Windows 操作系统上运行 Linux 环境。它提供了一个兼容层,使得用户可以在 Windows 系统中直接运行 Linux 命令行工具、应用程序和开发工具,而无需使用虚拟机或双系统启动。
目录
引言
尝试安装
BIOS虚拟化
下载X64的WSL2 Linux内核升级包
配置分发版本
安装缺失的库
下载插件使用
参考文档
参考视频
尝试安装
输入wsl --install,尝试像MAC一样直接安装,结果遇到了问题,这里可以找一下这个包下载下来,但是没找,不知道缺了之后会怎么样,感觉是想从GitHub里下载发行版,可以在 WSL 中安装的不同 Linux 版本,例如 Ubuntu。

BIOS虚拟化
该命令的作用是启用 Windows 系统中的“虚拟机平台”功能,这是运行 WSL 2(Windows Subsystem for Linux 2)的必要条件之一。启用该功能后,系统将安装必要的组件,从而允许你使用 WSL 2 来运行 Linux 发行版。看一下版本,这里只安装了dockers-desktop,它无法正常运行会提示你BIOS虚拟化。

下载X64的WSL2 Linux内核升级包
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi(不知道有什么用)
配置分发版本
Docker Desktop 不需要安装任何特定的 Linux 发行版。CLI 和 UI 在 Windows 上都可以正常工作,无需任何其他 Linux 发行版。但是建议至少安装一个额外的发行版并启用 Docker 支持。
Linux 是一个开源的类 Unix 操作系统内核,最初由 Linus Torvalds 在 1991 年开发。Linux 内核本身只是一个操作系统的核心部分,它提供了基本的系统功能,如进程管理、文件系统、设备驱动等。为了让用户能够方便地使用 Linux,开发者将 Linux 内核与各种软件工具、应用程序、库文件等组合在一起,形成了一个完整的操作系统,这就是 Linux 发行版(Linux Distribution)。
每个 Linux 发行版都有其独特的特点和目标用户群体,Ubuntu:适合新手和桌面用户,提供友好的安装过程和丰富的软件库。

安装缺失的库
-
打开 WSL 的
docker-desktop发行版的终端: -
wsl -d docker-desktop -
在终端中运行以下命令安装
libstdc++:apk update apk add libstdc++
-
确保你的网络可以访问 Alpine Linux 的软件包仓库。如果网络有问题,可以尝试更换 DNS 或使用代理。
-
如果你在中国大陆,可以尝试使用国内的镜像源,例如:
echo "http://mirrors.aliyun.com/alpine/v3.20/main/" > /etc/apk/repositories echo "http://mirrors.aliyun.com/alpine/v3.20/community/" >> /etc/apk/repositories apk update

下载插件使用
在desktop里, 通过转到“设置”>“资源”>“WSL 集成”,从要启用 Docker 集成的已安装 WSL 2 发行版中进行选择,并打开 WSL 发行版 。

在vscode里下载插件使用,下载remote explorer选中Ubuntu-22.04。
通过连接到指定的远程环境(如WSL: Ubuntu-22.04),并在远程环境中安装扩展,即可解决问题。



参考文档
WSL Docker文档: https://learn.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-containers
Docker官网: https://www.docker.com/
Docker Hub: https://hub.docker.com/
参考视频
【给片哥的Docker教程】 https://www.bilibili.com/video/BV1vxcweoEJS/?share_source=copy_web&vd_source=e67da02918054ef8eab5865aea08bfa6
【寒假开学 同学问我为什么变强了!——清华大学电子系科协软件部x软件科协2024联合暑期培训】 https://www.bilibili.com/video/BV1v9cteeEro/?p=11&share_source=copy_web&vd_source=e67da02918054ef8eab5865aea08bfa6
相关文章:
如何在Windows上使用Docker
引言 WSL2(Windows Subsystem for Linux2)是微软开发的一种技术,允许在 Windows 操作系统上运行 Linux 环境。它提供了一个兼容层,使得用户可以在 Windows 系统中直接运行 Linux 命令行工具、应用程序和开发工具,而无需…...
气体控制器联动风机,检测到环境出现异常时自动打开风机进行排风;
一、功能:检测到环境出现异常时自动打开风机进行排风; 二、设备: 1.气体控制器主机:温湿度,TVOC等探头的主机,可上报数据,探头监测到异常时,主机会监测到异常可联动风机或声光报警…...
51单片机俄罗斯方块清屏函数
/************************************************************************************************************** * 名称:LED_Clr * 功能:清屏 * 参数:NULL * 返回:NULL * 备注:temp数组为动态显示数据ÿ…...
c++ haru生成pdf输出饼图
#define PI 3.14159265358979323846 // 绘制饼图的函数 void draw_pie_chart(HPDF_Doc pdf, HPDF_Page page, float *data, int data_count, float x, float y, float radius) { float total 0; int i; // 计算数据总和 for (i 0; i < data_count; i) { tot…...
sentinel的限流原理
Sentinel 的限流原理基于 流量统计 和 流量控制策略,通过动态规则对系统资源进行保护。其核心设计包括以下几个关键点: 流量统计模型:滑动时间窗口 Sentinel 使用 滑动时间窗口算法 统计单位时间内的请求量,相比传统的固定时间窗…...
[权限提升] Linux 提权 维持 — 系统错误配置提权 - 通配符(ws)注入提权
关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客 0x01:通配符(ws)注入提权原理 通配符注入提权的核心是利用通配符的扩展特性,在命令执行时生成意外的参数或文件名,从而改变命令的行…...
C++,STL容器 set/multiset:集合/多重集合深入解析
文章目录 一、容器概览二、核心特性对比三、基础操作详解四、关键成员函数解析五、底层实现探秘六、性能优化实践七、典型应用场景数据去重统计实时排行榜维护区间查询系统八、注意事项与陷阱元素不可变性自定义类型的比较函数迭代器失效问题进阶技巧:结合STL算法十、总结与选…...
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
一. 前言 本文介绍如何通过SpringBoot整合Neo4j的方式,对图数据库进行简单的操作。 Neo4j和SpringBoot的知识不再赘述。关于Neo4j的基础知识,有兴趣可以看看作者上一篇的文章:Neo4j图数据库学习(一)——初识CQL 二. 前置准备 新建SpringBo…...
整合 Redis 分布式锁:从数据结构到缓存问题解决方案
引言 在现代分布式系统中,Redis 作为高性能的键值存储系统,广泛应用于缓存、消息队列、实时计数器等多种场景。然而,在高并发和分布式环境下,如何有效地管理和控制资源访问成为一个关键问题。Redis 分布式锁正是为了解决这一问题…...
使用AI Agents集成外部API开发智能客服解决方案(上)
生成式AI的出现已经彻底改变了传统客服,为开发者和企业提供了更快速、更准确、更个性化的响应能力。其中由大语言模型(LLM)驱动的AI代理能够分析复杂的客户咨询,访问多个数据源,并提供相关的详细答案。在本文中&#x…...
2025手机电池技术革新,
具有AlN势垒和AlGaN背势垒的硅基GaN HEMT在电池兼容电压下提供突破性的输出功率 新加坡的一个工程师团队声称,他们通过研究低压硅基GaN HEMT的双异质结构设计的潜力,开辟了新的天地。 这些研究人员认为,这类晶体管是5G频率范围2频段功率 具…...
现在中国三大运营商各自使用的哪些band频段
现在中国三大运营商4G和5G频段分配情况: 中国移动 4G频段: TD-LTE: Band 39:1880-1920MHz,实际使用1885-1915MHz。 Band 40:2300-2400MHz,实际使用2320-2370MHz。 Band 41:2515-26…...
Linux系统-centos防火墙firewalld详解
Linux系统-centos7.6 防火墙firewalld详解 1 firewalld了解 CentOS 7.6默认的防火墙管理工具是firewalld,它取代了之前的iptables防火墙。firewalld属于典型的包过滤防火墙或称之为网络层防火墙,与iptables一样,都是用来管理防火墙的工具&a…...
Java Stream API:高效数据处理的利器引言
Java Stream API:高效数据处理的利器引言 在 Java 编程中,数据处理是一项极为常见且关键的任务。传统的 for 循环在处理数据集合时,往往会导致代码变得冗长、复杂,这不仅增加了代码的编写难度,还降低了代码的可读性和…...
RK3568实战项目(六)--开发工具介绍
目录 一、引言 二、开发工具 ------>2.1、trust_merger ------>2.2、boot_merger ------>2.3、loaderimage ------>2.4、resource_tool ------>2.5、mkimage ------>2.6、mkbootimg ------>2.7、unpack_bootimg ------>2.8、repack-bootimg …...
Unity3D仿星露谷物语开发28之切换场景
1、目标 Player可以在Scene1_Farm和Scene2_Field之间自动切换。通过Trigger实现该功能。同时创建一个预设体绑定该功能,这样可以把预设体放到任何场景中,通过配置即可实现Player在Scene之间的自由切换。 2、创建场景切换的工具对象 在Hierarchy中&…...
阿里通义实验室提出AnyStory:开启个性化文本到图像生成的新篇章!
在这个数字化时代,生成式AI技术正以前所未有的速度改变着我们的创作方式。近期,阿里通义实验室发表了一篇题为《AnyStory: Towards Unified Single and Multi-Subject Personalization in Text-to-Image Generation》的论文,该论文提出了一种…...
开启蓝耘之旅:DeepSeek R1 模型在智算平台的起步教程
----------------------------------------------------------我的个人主页-------------------- 动动你的手指----------------------------------------点赞👍 收藏❤--------------------------------------------------------------- 引言 在深度学习的广袤领…...
LVS + KeepAlived 配置HA集群的步骤
LVS KeepAlived 配置HA集群的步骤 (一)集群准备 准备vmvare linux虚拟主机4台,假设对外提供的VIP是192.168.174.110 主机IP备注LVS1192.168.174.101提供4层代理-主机LVS2192.168.174.102提供4层代理-备用Apache1192.168.174.201真实服务器…...
ISAAC Sim 1.1. Isaac Sim 4.2.0 环境配置
我使用的系统是ubuntu20.04,根据推荐使用Binary installation 1.下载和安装 1.1. Isaac Sim 参照Installation using Isaac Sim Binaries — Isaac Lab Documentation完成ISAAC SIM安装。 1.2. Isaac Lab “Isaac Lab 提供您需要的工具,以便您根据项…...
活动预告 | Power Hour: Copilot 引领商业应用的未来
课程介绍 智能化时代,商业应用如何实现突破?微软全球副总裁 Charles Lamanna 将为您深度解析,剖析其中关键因素。 在本次线上研讨会中,Charles Lamanna 将分享他在增强商业运营方面的独到见解与实战策略,深度解读商业…...
Gemini 2.0模型更新:谷歌最新AI大模型全面开启智能时代
引言 2025年2月5日,谷歌人工智能实验室(Google DeepMind)发布了最新的Gemini 2.0模型系列更新,包括2.0 Flash、Flash-Lite和Pro实验版本。这些AI大模型的发布标志着人工智能技术在性能、效率和多模态能力上的进一步突破ÿ…...
前端布局与交互实现技巧
前端布局与交互实现技巧 1. 保持盒子在中间位置 在网页设计中,经常需要将某个元素居中显示。以下是一种常见的实现方式: HTML 结构 <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><m…...
乘 DeepSeek 之风,破工作传统之浪,驶向智能高效新航道⭐
引言:当工作场景遭遇认知革命 在数字化转型的浪潮中,人工智能正以指数级速度重塑职场生态。DeepSeek作为国内领先的认知智能平台,其技术突破已超越简单的信息检索工具,正在演变为职场人的"第二大脑"。本文将系统解构De…...
Java | RESTful 接口规范
关注:CodingTechWork 引言 作为一名程序员,制定清晰、一致且高效的 RESTful 接口规范对于团队的开发效率和项目的长期维护至关重要。本文将详细介绍 RESTful 接口的设计理念、请求方法分类、核心规范,以及正确和错误的示例,帮助团…...
ASN.1 格式与Java类转换
ASN.1(Abstract Syntax Notation One)是一种用于描述数据结构的标准,常用于网络协议和数据编码。要将ASN.1格式的数据与Java类进行转换,通常需要使用ASN.1编译器或库来生成Java类,并使用这些类来编码和解码ASN.1数据。…...
从零开始掌握Python人工智能:实战案例、学习路径与职业建议
想必大家最近也都关注了实时,最近AI及deep seek可谓是火遍全球啊!小米总裁还说:大学生应该赶紧学会使用人工智能,你越早学会,你就比其他人更有优势。我也这样的感觉,deep seek现在可以和很多软件运用,完成绝…...
Oracle 变更redo log文件位置
更改Oracle数据库的Redo log文件位置,可以按照以下步骤操作。 1.查询当前Redo log文件信息 select * from v$log; select * from v$logfile;通过查询结果可知Redo log文件放在/oradata/redofile 目录下。 2.拷贝redo log文件到新的位置/Data/redolog $cd /orada…...
C++ 中信号转异常机制:在磁盘 I/O 内存映射场景下的应用与解析
C 中信号转异常机制:在磁盘 I/O 内存映射场景下的应用与解析 在现代 C 开发中,处理底层系统信号与高层 C 异常之间的转换是一项极具挑战性但又至关重要的任务。尤其是在涉及磁盘 I/O 操作且使用内存映射文件时,这种转换显得尤为关键。本文将围…...
Compose笔记(四)--derivedStateOf
这一节了解一下derivedStateOf,它用于创建一个派生状态。派生状态是一种特殊的状态,它的值是根据其他状态计算得出的。当依赖的状态发生变化时,派生状态会自动重新计算。使用 derivedStateOf 的主要目的是优化重组,避免不必要的重组ÿ…...
