构建一个 docker 镜像 ros2 ,当尝试运行时。在 dockerfile 中安装/setup.bash 无效
Posted
技术标签:
【中文标题】构建一个 docker 镜像 ros2 ,当尝试运行时。在 dockerfile 中安装/setup.bash 无效【英文标题】:build a docker image ros2 , when try tu run . install/setup.bash in dockerfile no works 【发布时间】:2020-03-05 12:30:05 【问题描述】:我有下一个问题:
我尝试用ros2构建一个docker镜像,其中下载了一个代码包,它将使用colcon构建方法构建。
但是当我试图跑到最后的时候。 install / setup.bash 对我不起作用。
我已经尝试将其放入脚本并将其复制到 dockerfile 但它不起作用
任何想法
我把 docker 文件放在这里
FROM osrf/ros:dashing-desktop
WORKDIR /home
COPY mobilidad.sh .
RUN bash mobilidad.sh
ENV ROS2_WS cleanmyway/test_ws
RUN mkdir -p $ROS2_WS/src/demo_py
COPY ./ $ROS2_WS/src/demo_py
WORKDIR $ROS2_WS
SHELL ["/bin/bash", "-c"]
RUN colcon build
RUN . install/setup.bash
注意:mobilidad.sh 是一个从 github 下载 de 代码的脚本,可以正常工作
【问题讨论】:
我不知道哪个部分不起作用。你能分享一下错误信息吗? 我尝试在 docker 中构建一个 ros2 包,但最后一个命令 install/setup.bash 不起作用,当尝试运行代码时,我收到此错误“找不到包”,我尝试: 我尝试: - 将命令作为脚本插入 dockerfile 但不起作用。 - 在 dockerfile 中运行 de 命令但不工作。 你能传递 docker build 的全部输出吗? 【参考方案1】:我想我设法找到了解决方案,
按如下方式构建 dockerfile:
FROM osrf/ros:dashing-desktop
WORKDIR /home
COPY mobilidad.sh .
RUN bash mobilidad.sh
ENV ROS2_WS cleanmyway/test_ws
RUN mkdir -p $ROS2_WS
WORKDIR $ROS2_WS
RUN colcon build
RUN echo "source install/setup.bash" >> /opt/ros/dashing/setup.bash
当我运行 ros2 命令时工作正常
但无论如何感谢您的帮助。 :) 注意:我不确定更好的形式是否适合我
【讨论】:
以上是关于构建一个 docker 镜像 ros2 ,当尝试运行时。在 dockerfile 中安装/setup.bash 无效的主要内容,如果未能解决你的问题,请参考以下文章
企业运维实战--最全Docker学习笔记1.Docker简介安装部署镜像构建Dockerfile详解镜像构建镜像优化本地私有仓库搭建