三分钟安装window Docker,并与Ubuntu(WSL)建立连接

下载

  • 下载 :去 Docker 官网 下载 "Docker Desktop for Windows"。选择window amd64版本

  • 安装 :双击安装包,一路默认即可。注意 :安装过程中如果问你是否使用 "WSL 2 based engine",一定要勾选

  • 启动:安装完后打开 Docker Desktop,等待左下角的小鲸鱼变成绿色(Running)。

  • 设置 :点击 Docker Desktop 右上角的齿轮(Settings) -> Resources -> WSL Integration -> 开启 "Enable integration with my default WSL distro" -> 开启你的 Ubuntu 开关 -> 点击 "Apply & Restart"。


更换位置:

Docker安装的东西会很多很占位置,所以建议把数据放在D盘

第一步:正常安装(默认路径)
  1. 运行安装包,不要试图寻找"浏览路径"按钮,直接点 OK 安装。

  2. 安装过程中确保勾选 "Use WSL 2 based engine"(这是默认选中的,别取消)。

  3. 安装完成,点击 "Close and Restart"(重启电脑)。

第二步:立刻修改数据存储位置(核心步骤)

电脑重启并打开 Docker Desktop 后,在还没开始拉取任何镜像之前,马上做这件事:

  1. 点击右上角齿轮图标 (Settings)

  2. 点击左侧菜单 Resources -> Disk image location

  3. 点击 Browse(浏览)。

  4. 选择你 D 盘的一个文件夹(建议新建一个 D:\DockerData)。

  5. 点击 Apply & Restart

做完这一步,Docker 的状态就是:

  • C 盘: 只占用了微不足道的几百 MB(放个启动器)。

  • D 盘: 承担未来所有的几十 GB 镜像和数据。


配置镜像加速(解决拉取卡死的问题)

默认的 Docker Hub 在国外,不配加速器几乎无法下载大型镜像(如 ROS 镜像,动辄 2GB+)。

  • 操作步骤:

    1. 打开 Docker Desktop 界面。

    2. 点击右上角齿轮图标 (Settings)

    3. 点击左侧导航栏的 Docker Engine

    4. 在右侧的文本框里,你会看到一段 JSON 代码。请把下面的内容覆盖进去 (或者添加到现有的 registry-mirrors 数组中)

    5. 点击右下角的 "Apply & restart"

      {
      "builder": {
      "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
      }
      },
      "experimental": false,
      "registry-mirrors": [
      "https://docker.m.daocloud.io",
      "https://huecker.io",
      "https://dockerhub.timeweb.cloud",
      "https://noohub.ru"
      ]
      }

    (注:国内镜像源变动频繁,如果上面这些失效了,可以向导师询问公司内部是否有私有镜像源地址 Harbor)


检查 WSL 集成开关

必须确保 Docker 能被你在 Ubuntu 终端里调用,否则你在 WSL 里敲 docker 命令会提示找不到。

  • 操作步骤:

    1. 在 Settings 里,点击左侧 Resources -> WSL integration

    2. 确保 "Enable integration with my default WSL distro" 是勾选状态。

    3. 关键点: 在下面的 "Enable integration with additional distros" 列表中,找到你刚才安装的 Ubuntu把开关打开

    4. 点击 "Apply & restart"


配置资源限制(防止电脑起飞/卡死)

跑规划控制算法(尤其是涉及编译 C++ 或跑 Gazebo 仿真时),内存消耗极大,这是算法工程师最容易踩的坑

  • 如果不限制: WSL 2 默认会吃掉你电脑 50%~80% 的内存。一旦 Docker 跑满,你的 Windows 界面(飞书、PPT)会瞬间卡死,鼠标都动不了。

  • 如果限制太死: 编译到一半会报错 KilledSignal 9(内存溢出)。

建议方案: wslconfig 文件(在 C:\Users\你的用户名\.wslconfig,没有的话就自己创建:notepad $env:USERPROFILE\.wslconfig ),建议在里面加两行限制。假设你的电脑是 32GB 内存,分给 Linux 24GB 比较合适:

复制代码
[wsl2]
networkingMode=mirrored
memory=24GB
processors=8

假设你的电脑是 16GB 内存,分给 Linux 10GB 比较合适:

复制代码
[wsl2]
networkingMode=mirrored
memory=10GB
processors=8
swap=8GB

保存后退出,在 PowerShell 输入 wsl --shutdown 重启生效。


验证时刻:一切就绪了吗?

做完以上操作后,打开你的 Ubuntu 终端(WSL),输入以下命令进行最终验收:

复制代码
# 1. 验证 Docker 是否通了
docker --version
# 输出应该类似:Docker version 24.0.x, build ...

# 2. 验证能不能从网上拉镜像 (测试网络加速)
docker pull hello-world
# 应该很快显示 Download newer image ... 并且不报错

# 3. 运行它
docker run hello-world

如果看到了 "Hello from Docker!" 的欢迎语,恭喜你!你的环境配置任务完美通关。

相关推荐
程序员老猫2 分钟前
vide coding 个人产品,那就从博客开始吧
人工智能·程序员·全栈
geo搜搜果数据18 分钟前
实测5大AI平台品牌排名:复现GEO监测流程
人工智能·langchain·搜搜果
minge00011 小时前
【世界杯中的AI】(2026-07-05)当足球遇见AI:7月5日世界杯的“人机共舞”与冷门之夜
人工智能·科技·世界杯
IT_陈寒2 小时前
闭包陷阱让我加了两天班,JavaScript你真行
前端·人工智能·后端
wumingxiaoyao2 小时前
从 0 开始学 AI:第 2 课,AI、机器学习、深度学习和大模型是什么关系?
人工智能·深度学习·机器学习·ai·大模型·llm
2601_962683892 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql
踩着两条虫2 小时前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
字节跳动视频云技术团队2 小时前
Agentic 范式下的视频画质优化:火山引擎的新路径
人工智能·音视频开发
phoenix@Capricornus2 小时前
单位球面在线性变换下的像以及线性变换诱导的加权 2-范数的等值面(To 战老师)
线性代数·机器学习·矩阵