ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The entrypoint listed in a Dockerfile is skipped unless the command is passed as an array of strings instead of one string (with spaces and whatnot). This is a bit of a weird behavior with docker that isn't obvious, but, you have to give it your command in such a way that it knows it can run it after the entrypoint and not in a subshell. See the CMD documentation here: https://docs.docker.com/engine/reference/builder/#cmd . The same applies to the command:
data in a docker-compoose file, and it looks like docker-py
supports passing a python list
instead of a string
as well: https://docker-py.readthedocs.io/en/stable/containers.html.
So, if you changed your code to:
>>> logs = container.exec_run(cmd=['rosparam', 'list'])
>>> print(logs)
I think you'd have your entrypoint executed.