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 |