鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    一键安装ros:noetic+docker成功后docker image不同步显示镜像

    已定时 已固定 已锁定 已移动
    一键安装
    docker ros 一键安装docker失败
    3
    5
    499
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 2
      2944197166
      最后由 编辑

      wen@wenubuntu:~$ sudo docker pull fishros2/ros:noetic-desktop-full
      noetic-desktop-full: Pulling from fishros2/ros
      Digest: sha256:4a7705e75022cc5ff60cecb7b5b40bc16492e94b1391a82ab1dda93ab1436b4c
      Status: Image is up to date for fishros2/ros:noetic-desktop-full
      docker.io/fishros2/ros:noetic-desktop-full
      wen@wenubuntu:~$ docker images
      REPOSITORY TAG IMAGE ID CREATED SIZE
      osrf/ros noetic-desktop-full 5a2576cc4b0d 5 weeks ago 3.44GB
      ubuntu latest 35a88802559d 2 months ago 78.1MB
      ubuntu 20.04 5f5250218d28 2 months ago 72.8MB
      ros noetic-robot 196b21611ecc 3 years ago 983MB

      2 1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        从您提供的信息来看,您尝试拉取的 Docker 镜像 fishros2/ros:noetic-desktop-full 实际上已经是最新的,因为 Docker 报告说“Image is up to date”。但是,当您列出 Docker 镜像时,显示的 osrf/ros:noetic-desktop-full 镜像与您尝试拉取的镜像名称不匹配。这可能是因为您之前已经安装了 osrf/ros:noetic-desktop-full 镜像,或者您的系统中有某种配置或别名指向了不同的镜像。

        要解决这个问题,您可以按照以下步骤操作:

        1. 确认镜像名称:
          确保您想要使用的镜像名称是 fishros2/ros:noetic-desktop-full。如果您之前使用的是 osrf/ros:noetic-desktop-full,并且现在想要切换到 fishros2/ros,那么您需要确保所有引用都更新为新的镜像名称。

        2. 删除旧的镜像(可选):
          如果您确定不再需要 osrf/ros:noetic-desktop-full 镜像,可以删除它以释放空间并避免混淆。使用以下命令删除镜像:

          sudo docker rmi osrf/ros:noetic-desktop-full
          
        3. 重新拉取正确的镜像:
          如果您已经确认或更改了镜像名称,并且想要确保您使用的是最新的 fishros2/ros:noetic-desktop-full 镜像,可以再次尝试拉取它(尽管 Docker 已经告诉您它是最新的):

          sudo docker pull fishros2/ros:noetic-desktop-full
          
        4. 检查镜像列表:
          拉取后,再次列出 Docker 镜像以确认 fishros2/ros:noetic-desktop-full 已被正确拉取:

          sudo docker images
          
        5. 使用新镜像运行容器:
          现在,您可以使用新的镜像来运行 ROS Noetic 容器。例如:

          sudo docker run -it --name ros_noetic fishros2/ros:noetic-desktop-full
          
        6. 检查 Docker 配置(如果问题持续存在):
          如果问题仍然存在,检查您的 Docker 配置或任何可能影响 Docker 镜像名称解析的别名或环境变量。

        通过这些步骤,您应该能够解决 Docker 镜像名称不匹配的问题,并开始使用您期望的 ROS Noetic 镜像。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        小鱼小 1 条回复 最后回复 回复 引用 0
        • 2
          2944197166 @2944197166
          最后由 编辑

          @2944197166 c0937de6-6e94-4112-9286-a58a30533b64-image.png 输入指令控制显示Error response from daemon: No such container: noetic1
          Error: failed to start containers: noetic1

          1 条回复 最后回复 回复 引用 0
          • 小鱼小
            小鱼 技术大佬 @小伊
            最后由 编辑

            @小伊 要docker run 才能产生容器

            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

            1 条回复 最后回复 回复 引用 0
            • 小伊小
              机器人小伊
              最后由 编辑

              是的,docker run 命令是 Docker 中用于创建并启动一个容器的核心命令。当你执行 docker run 时,Docker 会根据你的请求查找或下载指定的镜像(如果本地没有的话),然后基于这个镜像创建一个新的容器实例并启动它。

              docker run 命令的基本语法如下:

              docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
              
              • OPTIONS:是一些可选参数,用于控制容器的运行方式,比如 -d 用于后台运行容器,--name 用于指定容器的名称,-p 用于端口映射等。
              • IMAGE[:TAG|@DIGEST]:指定了要运行的镜像,可以通过标签(:TAG)或摘要(@DIGEST)来指定镜像的具体版本。如果不指定标签,则默认使用 latest 标签。
              • [COMMAND] [ARG...]:这是传递给容器内部运行命令的参数,如果镜像内部有默认命令,则可以覆盖它。

              举个例子,如果你想在后台运行一个 Ubuntu 容器,并且希望进入容器的 shell,你可以这样做:

              1. 首先,运行容器但不直接进入 shell(使用 -d 参数):
              docker run -d --name ubuntu_container ubuntu
              

              这会创建一个名为 ubuntu_container 的 Ubuntu 容器,并在后台运行。但是,因为 Ubuntu 镜像的默认命令是启动 bash,但因为我们使用了 -d 参数,所以 bash 会立即退出,容器内部实际没有长时间运行的进程,但容器仍然会存在。

              1. 然后,你可能需要进入这个容器,可以使用 docker exec 命令:
              docker exec -it ubuntu_container bash
              

              这会连接到 ubuntu_container 容器,并在其中启动一个新的 bash 会话。

              如果你想在启动容器时就直接进入 shell,可以直接在 docker run 命令中指定命令:

              docker run -it --name ubuntu_interactive ubuntu bash
              

              这里,-it 参数用于分配一个伪终端(-t)并保持 STDIN 开放(-i),使得我们能够与容器中的 bash 会话进行交互。容器创建后会立即进入 bash。


              以上为生成回答,仅供参考~

              我是小伊,已接入ChatGpt,所有回复,仅供参考~

              1 条回复 最后回复 回复 引用 0
              • 第一个帖子
                最后一个帖子
              皖ICP备16016415号-7
              Powered by NodeBB | 鱼香ROS