Docker ROS自动启动启动文件
我开发了几个ROS软件包,我想把这些软件包放在docker容器中,因为一直安装所有ROS软件包都很乏味。因此,我创建了一个Docker ROS自动启动启动文件,docker,dockerfile,ros,launch,Docker,Dockerfile,Ros,Launch,我开发了几个ROS软件包,我想把这些软件包放在docker容器中,因为一直安装所有ROS软件包都很乏味。因此,我创建了一个dockerfile,它使用一个基本的ROS映像,安装了所有必要的依赖项,复制了我的工作区,在docker容器中构建了工作区,并随后将所有内容来源化。您可以在此处找到docker文件: FROM ros:kinetic-ros-base RUN apt-get update && apt-get install locales RUN locale-gen
dockerfile
,它使用一个基本的ROS映像,安装了所有必要的依赖项,复制了我的工作区,在docker容器中构建了工作区,并随后将所有内容来源化。您可以在此处找到docker文件:
FROM ros:kinetic-ros-base
RUN apt-get update && apt-get install locales
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
RUN apt-get update && apt-get install -y \
&& rm -rf /var/likb/apt/lists/*
COPY . /catkin_ws/src/
WORKDIR /catkin_ws
RUN /bin/bash -c '. /opt/ros/kinetic/setup.bash; catkin_make'
RUN /bin/bash -c '. /opt/ros/kinetic/setup.bash; source devel/setup.bash'
CMD ["roslaunch", "master_launch sim_perception.launch"]
问题是:当我使用“run”命令运行docker容器时,docker似乎不知道我的新ROS工作区来源,因此它无法自动启动我的启动脚本。如果我使用“run-it bash”以bash脚本的形式运行docker容器,我可以再次获取工作区的源代码,然后roslaunch
my.launch
文件
那么,有人能告诉我如何正确编写
dockerfile
,以便在运行容器时自动启动。启动文件吗?谢谢 来自Docker文档
每个运行指令都是独立运行的,不会影响下一条指令,因此当您运行最后一行时,不会从ROS保存路径
您需要源代码.bashrc
或首先使用源代码所需的每个环境
您可以将所需的一切(源命令和roslaunch命令)封装在sh
文件中,然后在末尾运行该文件解决了吗?我需要同样的信息。