docker 入门2

Docker Desktop 的图形界面完成 Ubuntu 22.04 + ROS 2 Humble 镜像的拉取(避开命令行),我会给你一步到位的操作步骤,解决之前的网络问题,确保 100% 能拿到可用镜像。

核心思路

Docker Desktop 图形界面拉取镜像本质还是调用 docker pull 命令,所以先解决网络问题(配置国内镜像加速器),再通过界面操作拉取,全程不用敲命令。

步骤 1:先配置 Docker 镜像加速器(解决网络超时 / 解析失败)

这是关键前提,先搞定网络问题:

  1. 打开 Docker Desktop,点击顶部菜单栏的 Settings(齿轮图标)。

  2. 左侧菜单找到 Docker Engine(Docker 引擎)。

  3. 在右侧的 JSON 配置框中,找到 "registry-mirrors": [] 这一行,替换成以下国内镜像源(覆盖原有内容,保留其他配置):

    json

    复制代码
    {
      "builder": {
        "gc": {
          "defaultKeepStorage": "20GB",
          "enabled": true
        }
      },
      "experimental": false,
      "features": {
        "buildkit": true
      },
      "registry-mirrors": [
        "https://cr.console.aliyun.com",
        "https://mirror.ccs.tencentyun.com"
      ]
    }
  4. 点击右下角 Apply & Restart,等待 Docker Desktop 重启完成。

步骤 2:通过 Docker Desktop 图形界面拉取镜像

方法 A:直接搜索并拉取(推荐)
  1. 重启后,回到 Docker Desktop 主界面,点击顶部的 Images(镜像)标签。
  2. 点击右上角的 Search images 搜索框,输入:osrf/ros:humble-desktop-full(这是官方 Ubuntu 22.04 + ROS 2 完整镜像)。
  3. 按下回车,搜索结果会显示 osrf/ros 镜像,找到 humble-desktop-full 标签,点击右侧的 Pull(拉取)按钮。
  4. 此时 Docker Desktop 会自动开始下载镜像,底部会显示下载进度(Ubuntu 22.04 底层镜像 + ROS 2 约 4-5GB,耐心等待)。
方法 B:手动输入拉取命令(备用)

如果搜索框拉取失败,用 Docker Desktop 内置终端操作:

  1. 点击 Docker Desktop 顶部的 Terminal (终端)标签(或主界面左下角的 CLI 按钮)。

  2. 在弹出的终端窗口中,输入以下命令并回车: bash

    运行

    复制代码
    docker pull osrf/ros:humble-desktop-full
  3. 终端会显示下载进度,完成后回到 Images 标签就能看到该镜像。

步骤 3:验证镜像是否拉取成功

  1. 拉取完成后,回到 Docker Desktop 的 Images 标签页。
  2. 在镜像列表中搜索 osrf/ros,能看到 humble-desktop-full 标签的镜像(状态为 Exists),说明拉取成功。
  3. 点击该镜像右侧的 Run 按钮,直接启动容器,验证 ROS 2 环境:
    • 启动容器后,点击容器右侧的 终端图标(3 条横线)。
    • 在终端中输入 ros2 --version,输出 humble 即表示环境正常。

备用方案:图形界面构建自定义镜像(彻底绕开拉取)

如果以上拉取仍失败,直接在 Docker Desktop 中构建镜像(基于 Ubuntu 22.04 手动装 ROS 2):

  1. 新建一个文件夹(如 C:\ros2-build),里面创建 Dockerfile(内容和之前给的一致)。
  2. 打开 Docker Desktop,点击顶部的 Build(构建)标签。
  3. 点击 Build a new image ,选择 C:\ros2-build 文件夹,镜像标签填 ros2-humble:22.04,点击 Build
  4. Docker Desktop 会自动读取 Dockerfile 并构建镜像,完成后在 Images 中能看到 ros2-humble:22.04

总结

  1. 核心前提:先配置国内镜像加速器,解决网络解析 / 超时问题,这是拉取成功的关键。
  2. 图形界面操作 :通过 Images 标签搜索 → Pull 按钮,全程可视化,不用记命令。
  3. 验证要点 :拉取完成后,启动容器并执行 ros2 --version,确认输出 humble 即成功。

如果拉取时仍提示网络错误,优先切换到手机热点(避开公司 / 校园网络限制),或直接用「构建自定义镜像」的方式,完全绕开官方镜像仓库。

相关推荐
_OP_CHEN1 小时前
【Linux系统编程】(四十)线程控制终极指南:从资源共享到实战操控,带你吃透线程全生命周期
linux·运维·操作系统·线程·进程·c/c++·线程控制
吹晚风吧1 小时前
实现一个mybatis插件,方便在开发中清楚的看出sql的执行及执行耗时
java·sql·mybatis
Shingmc31 小时前
【Linux】库原理
linux
beijingliushao2 小时前
03-数据库和数据表的基本操作
数据库
让我上个超影吧2 小时前
【力扣34】在排序数组中查找元素的第一个和最后一个位置
java·数据结构·算法·leetcode
逍遥德2 小时前
Maven教程.04-如何阅读Maven项目
java·maven
嵌入小生0072 小时前
线程间通信---嵌入式(Linux)
linux·c语言·vscode·嵌入式·互斥锁·线程间通信·信号量
xiaoliuliu123452 小时前
treeNMS-1.7.5部署步骤详解(附Java环境准备与数据库配置)
java·开发语言·数据库
数据知道2 小时前
MongoDB 更新操作符 `$set` 与 `$unset`:精准修改字段与删除字段
数据库·mongodb