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

相关推荐
空白诗5 分钟前
CANN ops-nn 算子解读:AIGC 风格迁移中的 BatchNorm 与 InstanceNorm 实现
人工智能·ai
新芒5 分钟前
暖通行业两位数下滑,未来靠什么赢?
大数据·人工智能
B站_计算机毕业设计之家8 分钟前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
lucky-billy11 分钟前
Ubuntu 下一键部署 ROS2
linux·ubuntu·ros2
weixin_4462608513 分钟前
掌握 Claude Code Hooks:让 AI 变得更聪明!
人工智能
Thera77715 分钟前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
小白|15 分钟前
CANN性能调优实战:从Profiling到极致优化的完整方案
人工智能
哈__16 分钟前
CANN加速图神经网络GNN推理:消息传递与聚合优化
人工智能·深度学习·神经网络
渣渣苏16 分钟前
Langchain实战快速入门
人工智能·python·langchain
七月稻草人17 分钟前
CANN 生态下 ops-nn:AIGC 模型的神经网络计算基石
人工智能·神经网络·aigc·cann