Saltar la navegación

2.2 Los flags -it

LOS FLAGS -it

Los contenedores se pueden construir con distintas lógicas de comportamiento. Una de ellas es la que, por defecto,  hace que el contenedor, después de ser invocado y ejecutarse, se detenga y no pueda volver a ser iniciado con el comando start. Para evitar este comportamiento (si nos interesa) se utilizan las opciones (flags)  -i y -t  del subcomando run de docker combinados con la invocación de la shell /bin/bash en el interior del contendor.
Recuerda!!. Para tener control absoluto de contenedor y poder interactuar con él, como si de una máquina virtual se tratara:

  • Siempre usar el flag -it al ejecutar una orden docker run si es un contenedor que no tiene servicios. Este -it es la unión del  flag -i (--interactive) y el flag -t (--tty), los cuales, abren la entrada estándar del contenedor que estamos ejecutando permitiendo abrir un terminal en el contenedor. Es decir,  nos va a permitir interactuar con él.
  • No debemos añadir al final otra orden que no sea /bin/bash (u otro shell que puedan contener los contenedores) ya que eso sobreescribe la orden de arranque de algunos contenedores (shell o inicio de servicio dependiendo del tipo de contenedor) y será imposible volver a arrancarlos una vez parados. Hay que tener en cuenta que una vez arrancados, si lo hemos hecho bien, siempre podremos ejecutar órdenes en el contenedor, tal y como veremos posteriormente.

Debemos tener en cuenta que si los contenedores no son contenedores con servicios, se paran tras salir la primera vez de interactuar con ellos. Para iniciarlos de nuevo, como ya ha indicado en el primer párrafo, tenemos la orden docker start cuyo funcionamiento es muy simple. Lo vamos a ilustrar con un ejemplo.

# Arrancar el contenedor con nombre servidorWeb (debe estar parado)

> docker start servidorWeb

# Arrancar el contenedor con ID 511eeed5992d

> docker start 511eeed5992d

Creado con eXeLearning (Ventana nueva)