# Ejecuta ROS 2 en un contenedor


## Resumen

En esta sección, ejecutarás ROS 2 en un contenedor de Docker aislado utilizando imágenes oficiales de ROS 2, verificarás que ROS 2 funcione correctamente e instalarás paquetes adicionales de ROS 2 para su desarrollo y pruebas.

---

## Ejecuta ROS 2 en un contenedor

La forma más rápida de comenzar con ROS 2 es utilizar la [imagen oficial de Docker](https://hub.docker.com/_/ros/). Para descargar una imagen, iniciar un contenedor y abrir una terminal interactiva de bash:

1. Descarga y ejecuta la imagen oficial de Docker de ROS 2:

   ```console
   $ docker run -it ros:humble
   ```

   Esta guía utiliza la distribución Humble. Puedes reemplazar `humble` por otra distribución compatible, como `rolling`, `jazzy` o `iron`.

   > [!NOTE]
   >
   > Este entorno es temporal y no mantiene la persistencia.
   > Cualquier archivo que crees o paquete que instales se eliminará una vez que el contenedor se detenga o se elimine.

2. Verifica que ROS 2 esté funcionando:

   ```console
   $ echo $ROS_DISTRO
   ```

   Deberías ver una salida similar a:

   ```text
   humble
   ```

## Instala paquetes de ROS 2

Las imágenes oficiales de ROS 2 incluyen los paquetes principales. Para instalar paquetes adicionales, utiliza el gestor de paquetes `apt`:

1. Actualiza el gestor de paquetes:

   ```console
   $ sudo apt update
   ```

2. Instala el paquete deseado:

   ```console
   $ sudo apt install $PACKAGE_NAME
   ```

Reemplaza `$PACKAGE_NAME` con cualquier paquete que desees instalar.

Algunos paquetes utilizados habitualmente son:

- `ros-humble-turtlesim` - Herramienta de visualización y simulación
- `ros-humble-rviz2` - Herramienta de visualización 3D
- `ros-humble-rqt` - Herramientas gráficas de ROS basadas en Qt
- `ros-humble-demo-nodes-cpp` - Nodos de demostración en C++
- `ros-humble-demo-nodes-py` - Nodos de demostración en Python
- `ros-humble-colcon-common-extensions` - Extensiones del sistema de compilación

---

## Resumen

En esta sección, descargaste una imagen oficial de Docker de ROS 2, iniciaste una sesión interactiva y ampliaste las capacidades del contenedor instalando paquetes de ROS 2 adicionales mediante apt.

## Próximos pasos

En la siguiente sección, configurarás un espacio de trabajo persistente para asegurar que tu código y modificaciones se guarden entre sesiones.

