Ejecutar comandos

El comando docker exec nos permite ejecutar un comando dentro de un contenedor que esté en ese momento en ejecución.ç

La forma sintaxis habitual para utilizar este comando es:

docker exec [OPCIONES] IDENTIFICADOR/NOMBRE COMANDO [ARGUMENTOS]

Algunos ejemplos de uso, suponiendo un contenedor en marcha llamando “contenedor”:

Ejemplo 1

Se ejecuta en “background”, gracias al parámetro “-d”, y crea mediante el comando “touch” un fichero “prueba” en “/tmp”.

docker exec -d contenedor touch /tmp/prueba

Ejemplo 2

Ejecuta la “shell” bash en nuestra consola (gracias al parámetro “-it” se enlaza la entrada y salida estándar a nuestra terminal). A efectos prácticos, con esta orden accederemos a una “shell” bash dentro del contenedor.

docker exec -it contenedor bash

Ejemplo 3

Comando que establece un variable de entorno con el parámetro “-e”. Se enlaza la entrada y salida de la ejecución del comando con “-it”. A efectos prácticos, en esa “shell” estará disponible la variable de entorno “VAR1” con valor 1. Lo podemos probar con docker exec -it echo $VAR1

docker exec -it -e VAR=1 contenedor bash

La descripción completa del comando “docker exec” la podéis encontrar en https://docs.docker.com/engine/reference/commandline/exec/