docker exec ros
时间: 2025-01-08 18:06:06 浏览: 6
### 如何在 Docker 容器中执行 ROS 相关命令
为了在 Docker 容器中执行 ROS 相关命令,通常有两种主要方法:启动一个新的交互式会话或连接到已有的正在运行的容器。
#### 启动新的交互式会话并执行命令
对于初次设置或是希望在一个新环境中工作的情况,可以直接通过 `docker run` 来创建并进入一个带有指定 ROS 发行版的新容器:
```bash
docker run -it --name ros-noetic-container osrf/ros:noetic-desktop-full bash
```
这条命令将会下载(如果尚未存在)并启动名为 `ros-noetic-container` 的容器实例,在其中打开 Bash 终端[^2]。
#### 连接到已有容器内执行命令
当已经有一个正在运行的 ROS 容器,并且只需要临时访问它来执行某些特定的操作时,则应该采用如下方式连接至该容器:
```bash
docker exec -it existing_ros_container_name bash
```
这里假设 `existing_ros_container_name` 是目标容器的名字。此命令允许用户以交互模式附加到现有容器上,并提供了一个 shell 接口用于进一步操作[^4]。
一旦进入了容器内部之后,就可以如同平常一样调用任何 ROS 工具和服务了。例如,要启动 RViz 并查看其图形界面,只需简单输入以下两条语句之一即可完成环境初始化以及应用程序启动:
```bash
source /opt/ros/noetic/setup.bash # 对于 Noetic 版本适用
rviz2 # 如果是 ROS 2 Humble 或更新版本则使用 rviz2 而不是 rviz
```
或者直接运行节点程序而不需要先启动核心服务(针对 ROS 2),比如这样开启 Rviz:
```bash
ros2 run rviz2 rviz2 # 此处适用于 ROS 2 系列发行版
```
以上就是关于如何在基于 Docker 构建起来的 ROS 开发环境下执行相关命令的方法介绍。
阅读全文