Saltar la navegación

2.7 Gestión de contenedores

Con el paso del tiempo iremos ejecutando muchos contenedores  y llegará un momento en que tengamos la necesidad de realizar operaciones como las siguientes:

  • Parar un contenedor que no estamos necesitando o que , puede ser, esté ejecutando un servicio que ocupe un puerto que queremos ocupar con otro servicio o contenedor.
  • Eliminar un contenedor que instalamos y que ya no necesitamos.
  • Queremos iniciar un contenedor que estaba parado pero que vamos a volver a necesitar.
  • Queremos reiniciar un contenedor para que nuevas opciones de configuración sean aplicadas.

Para operaciones de ese tipo tenemos las siguientes órdenes docker:

  • docker stop para detener el contenedor, ya sea por nombre o por ID.
  • docker rm para borrar el contenedor, ya sea por nombre o por ID.
  • docker start iniciar un contenedor que estaba parado previamente, ya sea por nombre o por ID.
  • docker restart para reiniciar un contenedor que previamente ya estaba en ejecución.

Cada una de ellas tiene diferentes flags u opciones. Vamos a ver las más importantes mediante ejemplos:

# Para un contenedor en ejecución que se llame servidorWeb

> docker stop servidorWeb

# Para un contenedor en ejecución cuyo ID es ea9b922190d8 pero esperando 10 segundo (-t o --time)

> docker stop -t 10 ea9b922190d8

# Borrar un contenedor que se llama servidorBD

> docker rm servidorBD

# Borrado un contenedor que se llame jenkins aunque esté en ejecución (--force o -f)

> docker rm -f jenkins

# Inicio de un contenedor con nombre jenkins

> docker start jenkins

# Inicio de un contenedor con nombre jenkins pero haciendo el attach de la entrada estándar para poder interactuar con él (-i o --interactive)

> docker start -i jenkins

# Reinicio de un contenedor con ID ea9b922190d8

> docker restart ea9b922190d8

# Reinicio de un contenedor con ID ea9b922190d8 pero esperando 10 segundo (-t o --time)

> docker restart -t 10 ea9b922190d8

Es lógico que:

  • Si hago docker start y el contenedor ya está iniciado, no pasa nada.
  • Si hago docker stop y el contenedor ya está parado, no pasa nada.
  • Si hago docker restart y el contenedor ya está parado, es lo mismo que si ejecutar un docker start.
  • Pero es importante destacar que SI UN CONTENEDOR ESTÁ EN EJECUCIÓN NO PODEMOS BORRARLO salvo que usemos la opción -f. Si lo intentamos obtendremos un error similar al siguente:
Error al borrar un contenedor en ejecución
Juan Diego Pérez Jiménez. Error al borrar un contenedor en ejecución (Dominio público)

Creado con eXeLearning (Ventana nueva)