如何在Windows上使用Docker

ops/2025/2/9 6:00:47/

引言

 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内核升级包

windows.net%2Fwslblob%2Fwsl_update_x64.msi%EF%BC%88%E4%B8%8D%E7%9F%A5%E9%81%93%E6%9C%89%E4%BB%80%E4%B9%88%E7%94%A8%EF%BC%89" name="https%3A%2F%2Fwslstorestorage.blob.core.windows.net%2Fwslblob%2Fwsl_update_x64.msi%EF%BC%88%E4%B8%8D%E7%9F%A5%E9%81%93%E6%9C%89%E4%BB%80%E4%B9%88%E7%94%A8%EF%BC%89">windows.net/wslblob/wsl_update_x64.msi" rel="nofollow" title="https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi">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


http://www.ppmy.cn/ops/156904.html

相关文章

【学术投稿-第五届消费电子与计算机工程国际学术会议】HTML核心元素详解:超链接、列表、表格与实用技巧

基本信息 大会官网:www.iccece.org 线下召开时间:2025年2月28-3月2日 目录 前言 一、超链接:连接万物的桥梁 1. 基础语法 2. 高级应用 3.代码案例​编辑 4. 注意事项 二、列表:结构化内容的利器 1. 有序列表(O…

边缘计算网关驱动智慧煤矿智能升级——实时预警、低延时决策与数字孪生护航矿山安全高效运营

迈向智能化煤矿管理新时代 工业物联网和边缘计算技术的迅猛发展,煤矿安全生产与高效运营正迎来全新变革。传统煤矿监控模式由于现场环境复杂、数据采集和传输延时较高,已难以满足当下高标准的安全管理要求。为此,借助边缘计算网关的实时数据…

ubuntu中 使用C++ FFmpeg拉取RTSP视频流

在C中使用FFmpeg拉取RTSP视频流涉及多个步骤,包括初始化FFmpeg库、打开RTSP流、读取帧数据等。以下是一个简单的示例代码,展示如何使用FFmpeg库拉取RTSP视频流并解码视频帧。 1. 安装FFmpeg库 首先,确保你已经安装了FFmpeg库。你可以通过以…

全面的生成式语言模型学习路线

设计了一套全面的生成式语言模型学习路线,包含基础储备、核心知识学习、实践应用和进阶提升四个阶段,你可以根据自身情况进行调整。 第一阶段:基础储备(1 - 2个月) 数学基础 线性代数 学习向量、矩阵的基本运算&…

腾讯社招流程记录

bg:24届985硕士,四个多月被裁,后端开发 12.20上午投递,腾讯csig云计算后台 12.20下午约面 12.24晚上一面 1h45min 12.26中午约二面 12.26晚上二面 1h10min 目前状态还在面试流程中 ---------------------- 三面还没约&#xff0…

缓存的今生今世

缓存是什么 了解缓存,首先要了解内存概念,毕竟缓存离不开内存。 内存又称内部存储器和主存储器(RAM),内存条由内存芯片、电路板、金手指等部分组成。它与CPU之间的连通是通过总线完成,是CPU与外存的连通桥梁。计算机里所有的运算…

Qt之设置QToolBar上的按钮样式

通常给QAction设置icon后,菜单栏的菜单项和工具栏(QToolBar)上对应的按钮会同时显示该icon。工具栏还可以使用setToolButtonStyle函数设置按钮样式,其参数为枚举值: enum ToolButtonStyle {ToolButtonIconOnly,ToolButtonTextOnly,ToolButtonTextBesideIcon,ToolButtonTe…

【C语言】指针详细解读3

1. 数组名的理解 我们使用指针一般访问数组内容时,我们可能会这样写: int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &arr[0]; 这⾥我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,⽽…