如何在Windows上使用Docker

引言

WSL2(Windows Subsystem for Linux2)是微软开发的一种技术,允许在 Windows 操作系统上运行 Linux 环境。它提供了一个兼容层,使得用户可以在 Windows 系统中直接运行 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

相关推荐
m0_646429975 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
bug和崩溃我都要5 小时前
QT 开发的专业截图录屏工具 - macOS版 / Windows版
windows·qt·mac·录屏·截屏
kimloner5 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
摸鱼 特供版6 小时前
一款边录边标注的轻量截图录屏工具
windows·学习·电脑·音视频·软件需求
夜雪一千6 小时前
Python 生成模拟地址数据:Faker之外的备选库
网络·windows·python
无忧.芙桃7 小时前
C++语言原理与实践(十二):list类的底层实现
c++·windows·list
吴声子夜歌8 小时前
Docker入门与实战——实战案例(Web服务与应用)
docker·容器
Vex2une8 小时前
PowerShell ISE 到 VS Code 迁移史:从集成脚本环境到现代编辑器工作流
windows·vscode·powershell·powershell ise·powershell 扩展·powershell 7·脚本编辑器
Wang's Blog8 小时前
Java 项目部署之 Docker工具快速入门: Docker 架构拆解:镜像、容器、守护进程与 Registry
java·docker·架构
空 白II8 小时前
10.10 大语言模型研究简报:Microsoft 发布 Windows 端侧混合智能架构
windows·microsoft·语言模型