CodeGym /Cursos /Docker SELF /Conexión al contenedor en funcionamiento

Conexión al contenedor en funcionamiento

Docker SELF
Nivel 11 , Lección 4
Disponible

5.1 Fundamentos del comando docker exec

El comando docker exec es una herramienta para interactuar con contenedores que están en ejecución. Permite ejecutar comandos y abrir sesiones interactivas dentro del contenedor. Esto es útil para tareas administrativas, depuración y monitoreo. En esta lección, veremos en detalle cómo utilizar el comando docker exec, qué parámetros están disponibles y daremos ejemplos de su uso práctico.

El comando docker exec se utiliza para ejecutar comandos en un contenedor que está en ejecución. Con este comando puedes acceder al contenedor e interactuar con él como si estuvieras trabajando directamente en un servidor.

Sintaxis


docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Dónde:

  • CONTAINER: el nombre o identificador del contenedor al que quieres acceder.
  • COMMAND: el comando que quieres ejecutar dentro del contenedor.
  • ARG...: argumentos para el comando.

Ejemplo de uso básico

Este ejemplo ejecutará el comando ls /app dentro del contenedor my_container, lo que permitirá ver el contenido del directorio /app en el contenedor.

Terminal


docker exec my_container ls /app

5.2 Parámetros del comando docker exec

El comando docker exec soporta varias opciones que te permiten configurar el comportamiento de la ejecución de comandos dentro del contenedor.

1. Iniciar una sesión interactiva

Para comenzar una sesión interactiva, usa la combinación de las opciones -i (interactive) y -t (pseudo-TTY).

Terminal


docker exec -it my_container /bin/bash 

En este ejemplo, se abrirá un terminal interactivo Bash dentro del contenedor my_container. Esto te permitirá ejecutar comandos en tiempo real.

2. Ejecutar comandos en modo detach

Si necesitas ejecutar un comando dentro del contenedor y no esperar a que se complete, puedes usar la opción -d (detached mode).

Terminal


docker exec -d my_container touch /app/newfile.txt

En este ejemplo, el comando crea un archivo vacío llamado newfile.txt en el directorio /app del contenedor my_container. El control de la terminal regresa tan pronto como se ejecute el comando, sin esperar su finalización.

3. Especificar variables de entorno personalizadas

Puedes pasar variables de entorno al contenedor usando el parámetro -e.

Terminal

docker exec -e MY_VAR=value my_container env

Este ejemplo pasa la variable de entorno MY_VAR al contenedor y ejecuta el comando env para mostrar todas las variables de entorno dentro del contenedor.

5.3 Ejemplos de uso

Ejemplo 1: Ver procesos en ejecución dentro del contenedor

Este ejemplo ejecutará el comando ps aux dentro del contenedor my_container y mostrará una lista de todos los procesos en ejecución.

Terminal
docker exec my_container ps aux

Ejemplo 2: Verificar el estado de un servicio en el contenedor

Este ejemplo ejecutará el comando service nginx status dentro del contenedor my_container y mostrará el estado del servicio nginx.

Terminal
docker exec my_container service nginx status

Ejemplo 3: Instalar un paquete dentro del contenedor

Este ejemplo actualizará la lista de paquetes e instalará el editor vim dentro del contenedor my_container.

Terminal
docker exec my_container apt-get update && apt-get install -y vim

5.4 Escenarios prácticos

1. Administración de contenedores

El comando docker exec permite a los administradores realizar tareas de mantenimiento dentro de los contenedores: editar archivos de configuración, verificar logs o cambiar permisos de archivos.

Terminal
docker exec -it my_container vim /etc/nginx/nginx.conf

2. Depuración de aplicaciones

Durante el desarrollo y pruebas de aplicaciones, el comando docker exec ayuda a los desarrolladores a verificar el estado de la aplicación, realizar debugging y analizar errores.

Terminal
docker exec -it my_container python /app/scripts/debug.py

3. Monitorización y diagnóstico

Con docker exec se pueden ejecutar comandos de diagnóstico y supervisar el estado del contenedor: verificar el uso de recursos, conexiones de red y otras métricas.

Terminal
docker exec my_container top

Este comando ejecutará la utilidad top dentro del contenedor my_container y mostrará el uso actual de recursos.

5.5 Recomendaciones adicionales

1. Asegurar la seguridad

Al usar el comando docker exec, es importante mantener la seguridad. Asegúrate de que el acceso a los contenedores esté restringido y que solo los usuarios autorizados puedan ejecutar comandos dentro de los contenedores.

2. Automatización de tareas

Puedes automatizar tareas rutinarias utilizando scripts que usen el comando docker exec. Esto permite crear flujos de trabajo complejos y automatizar la administración de contenedores.

Terminal
#!/bin/bash
for container in $(docker ps -q); do
 docker exec $container uptime
done

Este script ejecutará el comando uptime en todos los contenedores en ejecución y mostrará su tiempo de actividad.

3. Logs y depuración

A veces, la ejecución de un comando puede fallar. En tales casos, es útil revisar los logs del contenedor para identificar la causa.

Terminal
docker logs my_container
1
Опрос
Creación del primer contenedor,  11 уровень,  4 лекция
недоступен
Creación del primer contenedor
Creación del primer contenedor
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION