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:
