【发布时间】:2021-12-10 10:45:52
【问题描述】:
我通过 Dockerfile 创建了一个 Docker 映像,在该映像上正确安装了 Ubuntu 18.04 和 ROS Melodic。请注意,我没有使用 official ROS-Docker image 来创建我的 Docker 映像。
从这个 Docker 镜像派生的 Docker 容器工作正常。 但是,每次我想使用容器时,我都需要执行以下命令:
- 终端窗口:
docker run -d -it --name container_name docker_image; docker exec -it container_name bash
然后,在我进入 Docker 容器之后:
roscore
- 终端窗口:
docker exec -it container_name bash
然后,在我进入 Docker 容器之后:
rosrun ROS_PackageName PythonScript.py
请注意,通过上述 Docker 命令,两个终端都在相同的 Docker 容器中运行。
我发现启动 PythonScript.py 的方法效率低下。 因此,我想请教在 Docker Container 启动时启动“roscore”后跟“rosrun ....”的最佳实践。
在一些 Dockerfile 中,我在文件末尾看到命令 ENTRYPOINT 以及 CMD。
但是,我不知道这些命令是否可以帮助我让我的 Docker 容器在容器启动时执行“roscore”,然后执行“rosrun”。
【问题讨论】:
标签: docker ubuntu dockerfile ubuntu-18.04 ros