三分钟安装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!" 的欢迎语,恭喜你!你的环境配置任务完美通关。

相关推荐
程序员cxuan几秒前
OpenAI Linux 版来了!
人工智能·后端·程序员
用户5619035069335 分钟前
OpenAI兼容API报401/404/429怎么解决?API Key、Base URL、模型名排查
人工智能
lucky_syq5 分钟前
专栏目录与学习路线 | 48 篇正文导览
人工智能·学习
拂拉氏7 分钟前
【知识讲解】 Linux中vim编辑器的学习与使用
linux·编辑器·vim
TechEdu20260610 分钟前
[人工智能]RLlib:基于Ray的可扩展强化学习框架
人工智能·ai
加多22 分钟前
DeepSeek Harness 深度分析:用途、问题、架构原理与使用指南
人工智能·架构
风流 少年35 分钟前
Spring AI 2.0:Flux
java·人工智能·spring
苏灿烤鱼38 分钟前
一套进程代替八件套,桌面更稳还是单点更大
linux·github·shell
刘梦薇42 分钟前
SSH连接失败connection reset解决办法
linux·运维·ubuntu·ssh·腾讯云
小马过河R44 分钟前
Graph Engineering 深度解析:模型越强,越需要给它画好“地图”
人工智能·langchain·graph·ai工程化·harness·驾驭工程