Hello, This reply may be irrelevant, bu I am new on using this docker platform. Also, i wanted to create a custom package test_package
which publishes the topic named /talker
contains the info of std_msgs:String
. This below is the docker file i created for the above all happen, when i execute the docker run -it
command.
FROM osrf/ros:noetic-desktop-full
RUN apt-get update \
&& apt-get install -y \
nano \
tree \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /catkin_ws/src
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash \
&& catkin_create_pkg test_package std_msgs roscpp rospy"
COPY test_package/src/talker.cpp /catkin_ws/src/test_package/src/talker.cpp
WORKDIR /catkin_ws
RUN /bin/bash -c "source /opt/ros/noetic/setup.bash \
&& catkin_make"
RUN echo "source /catkin_ws/devel/setup.bash" >> /root/.bashrc
CMD ["bash", "-c", "source /opt/ros/noetic/setup.bash \
&& roscore & sleep 1 \
&& source /catkin_ws/devel/setup.bash \
&& rosrun test_package talker"]
and the error showing is
...........
started core service [/rosout]
[rosrun] Couldn't find executable named talker below /catkin_ws/src/test_package
I know that we have to modify the CMakelists.txt
file to run the rosnode
like add_executable
, target_link_libraries
and one other which is runtime destination
after created the talker.cpp
file under the src
directory in the package. To do that i have to write the command in the dockerfile. I don’t know how to add that here. If someone help me out in this, it would be so helpful for me. Thanks in Advance.