我试图创建一个基于ubuntu:20.04的对接映像,在这里我想安装ROS2、点火平台和带有Dockerfile的ROS2 2桥。
安装ROS2和外接没有任何问题,但在桥梁安装期间,我需要使用colcon。下面是Dockerfile中的这一部分:
## install ROS2 ignition gazebo bridge
RUN export IGNITION_VERSION=edifice
RUN mkdir -p ros_ign_bridge_ws/src
RUN git clone https://github.com/osrf/ros_ign.git -b foxy ros_ign_bridge_ws/src
WORKDIR ros_ign_bridge_ws
RUN rosdep install -r --from-paths src -i -y --rosdistro foxy
RUN colcon build
RUN source ros_ign_bridge_ws/install/setup.bash
RUN echo "source ros_ign_bridge_ws/install/setup.bash" >> ~/.bashrc在colcon build步骤中,当我使用
docker build -f Dockerfiles/companion_base.Dockerfile -t companion_base .
,但是当我运行创建到该步骤的映像时
docker run -it c125a17c2f68 /bin/bash
然后在容器内执行colcon build,它可以正常工作,没有任何问题。
那么,在容器中运行RUN colcon build和运行colcon build有什么区别呢?
发布于 2022-06-28 09:27:23
问题是,当您在前面的docker构建步骤中获取某个内容时,它在下一个步骤中不可用。因此,我需要做的是在同一步进行采购和建设:
RUN /bin/bash -c "source /opt/ros/foxy/setup.bash; colcon build"https://stackoverflow.com/questions/72727733
复制相似问题