Ciclo de vidal del contenedor docker

Contenido

Acerca del proyecto

En este post vamos a ver el ciclo de vida del contenedor docker y las instrucciones básicas que necesitamos para poder ejecutar acciones en un contenedor, estos instrucciones normalmente son utilizadas para todo el ciclo de vida de un contenedor y básicamente nos permiten realizar diferentes acciones para los diferentes estados que puede manejar los contenedores como lo pueden ser crear, suspender, pausar, entre otros. los siguientes instrucciones que vamos a ver solamente se pueden ejecutar sobre un contenedor.

Conocimiento previo

Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.

Proyecto Descripción
Introducción docker Estamos la introducción a docker donde exponemos todos los temas que vamos a trabajar con esta plataforma y adicionalmente encontrar a los links de todos los proyectos que hemos realizado, los post donde explicamos los conceptos básicos y la instalación de docker.
docker hola mundo En este post vamos a crear el primer ejemplo utilizando docker que es un hola mundo, vamos a ver los comandos docker que vamos a utilizar en los siguientes ejercicios.

Ciclo de vida del contenedor docker

Haciendo foco particularmente en el contenedor, podemos mencionar que los diferentes estados que este puede manejar son Created, Running, Stopped, Paused, Killed.

Visto gráficamente estos son los estados con las transiciones correspondientes a cada comando que se puede ejecutar sobre un contenedor.[1]

Comandos ciclo de vida

docker run

El comando docker run primero crea una capa de contenedor grabable sobre la imagen especificada y luego la inicia usando el comando especificado. Es decir, la ejecución de Docker es equivalente a la API /containers/create then /containers/(id)/start. Un contenedor detenido se puede reiniciar con todos sus cambios anteriores intactos usando Docker Start. Vea docker ps -a para ver una lista de todos los contenedores.[2]

Uso

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

Opciones

El listado de las opciones se detalla en la tabla de la documentación oficial, allí encontrará la información de cada opción y su descripción.

Ejemplo

Al ejecutar docker run con las siguientes opciones, crea un contenedor y lo deja activo.

docker run -p 80:80 -d nginx

docker create

El comando docker create, crea una capa de contenedor grabable sobre la imagen especificada y la prepara para ejecutar con un comando especificado. La identificación del contenedor se imprime en STDOUT. Esto es similar a docker run -d excepto que el contenedor nunca se inicia. Luego puede usar el docker start para iniciar el contenedor en cualquier momento.

Esto es útil cuando desea configurar una configuración de contenedor con anticipación para que esté lista para comenzar cuando la necesite. El estado inicial del nuevo contenedor es created.[3]

Uso

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

Opciones

El listado de las opciones se detalla en la tabla de la documentación oficial, allí encontrará la información de cada opción y su descripción.

Ejemplo

Al ejecutar docker run con las siguientes opciones, crea un contenedor y lo deja creado sin iniciar.

docker create nginx -p 80:80

docker start

Iniciar uno o más contenedores detenidos.[4]

Uso

docker start [OPTIONS] CONTAINER [CONTAINER...]

Opciones

El listado de las opciones se detalla en la tabla de la documentación oficial, allí encontrará la información de cada opción y su descripción.

Ejemplo

Al ejecutar docker start con el identificador del contenedor, este lo inicia si esta detenido.

docker start ID_CONTENEDOR

docker restart

Resetea uno o mas contenedores.[5]

Uso

docker restart [OPTIONS] CONTAINER [CONTAINER...]

Opciones

El listado de las opciones se detalla en la tabla de la documentación oficial, allí encontrará la información de cada opción y su descripción.

Ejemplo

docker restart ID_CONTENEDOR

docker stop

Detener uno o más contenedores en ejecución.[6]

Uso

docker stop [OPTIONS] CONTAINER [CONTAINER...]

Opciones

El listado de las opciones se detalla en la tabla de la documentación oficial, allí encontrará la información de cada opción y su descripción.

Ejemplo

docker stop ID_CONTENEDOR

docker pause

El comando docker pause suspende todos los procesos en los contenedores especificados. En Linux, esto usa el congelador cgroup. Tradicionalmente, cuando se suspende un proceso, se utiliza la señal SIGSTOP, que se puede observar cuando el proceso se suspende. Con el congelador cgroup, el proceso no es consciente, y no puede capturar, que se está suspendiendo, y posteriormente se reanuda. En Windows, solo se pueden pausar los contenedores de Hyper-V.[7]

Uso

docker pause CONTAINER [CONTAINER...]

Ejemplo

docker pause ID_CONTENEDOR

docker unpause

El comando docker unpause anula la suspensión de todos los procesos en los contenedores especificados. En Linux, hace esto usando el congelador cgroup.[8]

Uso

docker unpause CONTAINER [CONTAINER...]

Ejemplo

docker unpause ID_CONTENEDOR

docker kill

El subcomando kill docker mata uno o más contenedores. El proceso principal dentro del contenedor se envía señal SIGKILL (predeterminado), o la señal que se especifica con la opción --signal. Puede eliminar un contenedor utilizando la ID, el prefijo de identificación o el nombre del contenedor.[8]

Uso

docker kill [OPTIONS] CONTAINER [CONTAINER...]

Opciones

El listado de las opciones se detalla en la tabla de la documentación oficial, allí encontrará la información de cada opción y su descripción.

Ejemplo

docker kill ID_CONTENEDOR

docker rm

Retire uno o más contenedores.[9]

Uso

docker rm [OPTIONS] CONTAINER [CONTAINER...]

Opciones

El listado de las opciones se detalla en la tabla de la documentación oficial, allí encontrará la información de cada opción y su descripción.

Ejemplo

docker rm ID_CONTENEDOR

docker ps

Lista todos los contenedores.[10]

Uso

docker ps [OPTIONS] CONTAINER [CONTAINER...]

Opciones

El listado de las opciones se detalla en la tabla de la documentación oficial, allí encontrará la información de cada opción y su descripción.

Ejemplo

docker ps ID_CONTENEDOR

Referencias

[1] medium https://medium.com/@nagarwal/lifecycle-of-docker-container-d2da9f85959, Consultado Junio 2020

[2] docker-run https://docs.docker.com/engine/reference/commandline/run/, Consultado Junio 2020

[3] docker create https://docs.docker.com/engine/reference/commandline/create/, Consultado Junio 2020

[4] docker-start https://docs.docker.com/engine/reference/commandline/start/, Consultado Junio 2020

[5] docker-restart https://docs.docker.com/engine/reference/commandline/restart/, Consultado Junio 2020

[6] docker-stop https://docs.docker.com/engine/reference/commandline/stop/, Consultado Junio 2020

[7] docker-pause https://docs.docker.com/engine/reference/commandline/pause/, Consultado Junio 2020

[8] docker-kill https://docs.docker.com/engine/reference/commandline/kill/, Consultado Junio 2020

[9] docker-rm https://docs.docker.com/engine/reference/commandline/rm/, Consultado Junio 2020

[10] docker-ps https://docs.docker.com/engine/reference/commandline/ps/, Consultado Junio 2020

Comentarios

Para dejar el comentario solo necesitamos tu correo que registraste en la pagina, pero si aun no te haz registrado se creara el usuario automaticamente.

Detalle contenido

base-ciclo-vida-contenedor-docker
Generic placeholder image
Oscar Fernandez Alzate

10, Junio 2020

65
Categorías
DOCKER