Curso Docker - 8. Ejecutar comandos dentro de un contenedor Docker con docker run

Curso Docker - 8. Ejecutar comandos dentro de un contenedor Docker con docker run

docker run se utiliza para ejecutar comandos dentro de un contenedor Docker. También podemos hacerlo con docker exec, pero hay una diferencia principal entre ellos: run se utiliza para ejecutar comandos en un nuevo contenedor mientras que exec se utiliza para ejecutar comandos en un contenedor existente.

run lo utilizaremos cuando no tengamos ningún contenedor en ejecución y queramos crear uno, iniciarlo y ejecutar un nuevo proceso en él.

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Tras docker run debemos especificar la imagen que vamos a utilizar para crear el contenedor, además de algunos parámetros más. Vamos a hacer, por ejemplo, un ls en un contenedor Ubuntu:

docker run ubuntu ls

Si ejecutamos docker ps, vemos que no hay ningún contenedor en ejecución, pero ¿qué pasaría si creamos un contenedor que no muera al instante?

Vamos a entrar por consola en nuestro contenedor Ubuntu:

docker run --name ubuntubash -i -t ubuntu bash

Hemos utilizado los siguientes parámetros:

  • --name: con este parámetro le hemos dicho a Docker que el nombre de nuestro contenedor va a ser ubuntubash
  • -i: es la abreviatura de -interactive y lo utilizamos porque vamos a ejecutar un proceso con el que vamos a interactuar, como es una terminal
  • -t: es la abreviatura de -tty y sirve para habilitar un terminal tty para el contenedor
  • ubuntu es el nombre de la imagen
  • bash es el comando que vamos a ejecutar

Vamos a ver el contenedor en ejecución con docker ps.