Ejecución Interactiva de Contenedores Docker
La ejecución interactiva de contenedores Docker te permite ejecutar comandos dentro de un contenedor en funcionamiento, de forma similar a cómo interactuarías con una máquina virtual o un servidor remoto. Esto puede ser útil para la resolución de problemas, las pruebas o incluso para ejecutar aplicaciones interactivas dentro del contenedor.
Iniciar un Contenedor Interactivo
Para iniciar un contenedor interactivo, puedes usar el comando docker run con las opciones -it (interactivo y TTY). Por ejemplo, para iniciar un contenedor Ubuntu de forma interactiva:
docker run -it ubuntu:latest /bin/bash
Este comando iniciará un contenedor Ubuntu y conectará tu terminal al shell del contenedor, permitiéndote ejecutar comandos dentro del contenedor.
Interacción con el Contenedor
Una vez que el contenedor se esté ejecutando de forma interactiva, puedes ejecutar varios comandos dentro del contenedor. Por ejemplo:
## Listar los archivos en el directorio raíz del contenedor
ls -l
## Instalar un paquete (por ejemplo, nano)
apt-get update && apt-get install -y nano
## Crear un archivo
touch test.txt
## Editar el archivo
nano test.txt
También puedes cambiar entre el contenedor y tu máquina host utilizando la combinación de teclas Ctrl+P Ctrl+Q, que te desconectará del contenedor sin detenerlo.
Conexión a un Contenedor en Ejecución
Si has iniciado un contenedor en modo desacoplado (sin las opciones -it), puedes volver a conectarte a él usando el comando docker attach:
docker attach <id_del_contenedor>
Esto conectará tu terminal al contenedor en ejecución, permitiéndote interactuar con él.
Ejecución de Comandos en un Contenedor en Ejecución
Además de conectarte a un contenedor, también puedes ejecutar comandos en un contenedor en ejecución usando el comando docker exec. Esto es útil cuando quieres ejecutar un comando específico sin conectarte al shell del contenedor. Por ejemplo:
docker exec <id_del_contenedor> ls -l
Esto ejecutará el comando ls -l en el contenedor en ejecución.
Al comprender cómo ejecutar contenedores Docker de forma interactiva, puedes solucionar problemas, realizar pruebas y gestionar tus aplicaciones contenedorizadas de forma más eficaz.