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

相关推荐
海盗12342 小时前
Linux下 vim(vi)编辑器的使用-各种模式介绍
linux·编辑器·vim
@我不是大鹏2 小时前
44、AI大模型技术之智图寻宝项目实战(2公共模块及去噪模块)
人工智能
白衣衬衫 两袖清风2 小时前
Docker日志清理,防止磁盘被json.log撑爆
docker·容器·json
头发还没掉光光2 小时前
IPV4地址不足,私有IP无法访问,使用NAT技术、内网穿透与打洞逐个解决
linux·网络·网络协议·tcp/ip
Loo国昌2 小时前
【LangChain1.0】第十四阶段:Agent最佳设计模式与生产实践
人工智能·后端·算法·语言模型·架构
HIT_Weston2 小时前
110、【Ubuntu】【Hugo】搭建私人博客:搜索功能(六)
linux·运维·ubuntu
90的程序爱好者2 小时前
Linux 常用命令分类整理
linux·运维·服务器
开发者联盟league2 小时前
k8s 创建 serviceAccount 并配置自定义ClusterRole 再授权用于 api-server 访问
云原生·容器·kubernetes
阳艳讲ai2 小时前
九尾狐AI智能矩阵:重构企业获客新引擎
大数据·人工智能