{"id":1171,"date":"2026-03-11T15:20:20","date_gmt":"2026-03-11T18:20:20","guid":{"rendered":"https:\/\/maurobernal.com.ar\/blog\/?p=1171"},"modified":"2026-03-11T20:02:18","modified_gmt":"2026-03-11T23:02:18","slug":"ciclo-de-vida-contenedor-docker-run-comandos-esenciales","status":"publish","type":"post","link":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/","title":{"rendered":"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor"},"content":{"rendered":"\n<p class=\"intro-destacado\">Son las 3 de la ma\u00f1ana. Me llega una alerta: un contenedor en producci\u00f3n est\u00e1 en estado <code>Exited (137)<\/code>. No arranca. No hay logs visibles. Y yo no entiendo qu\u00e9 pas\u00f3. Esa noche aprend\u00ed m\u00e1s sobre el ciclo de vida de un contenedor que en semanas de tutoriales.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Los estados de un contenedor Docker<\/h2>\n\n\n\n<p>Un contenedor no est\u00e1 simplemente \u00abprendido o apagado\u00bb. Tiene un ciclo de vida con varios estados bien definidos, y entenderlos es fundamental para diagnosticar problemas.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Estado<\/th><th>Significado<\/th><th>C\u00f3mo llegar<\/th><\/tr><\/thead><tbody>\n<tr><td><code>created<\/code><\/td><td>Creado pero nunca iniciado<\/td><td><code>docker create<\/code><\/td><\/tr>\n<tr><td><code>running<\/code><\/td><td>En ejecuci\u00f3n<\/td><td><code>docker start<\/code> \/ <code>docker run<\/code><\/td><\/tr>\n<tr><td><code>paused<\/code><\/td><td>Procesos suspendidos (SIGSTOP)<\/td><td><code>docker pause<\/code><\/td><\/tr>\n<tr><td><code>restarting<\/code><\/td><td>Reinici\u00e1ndose (restart policy activa)<\/td><td>Fallo del proceso principal<\/td><\/tr>\n<tr><td><code>exited<\/code><\/td><td>Detenido \u2014 con c\u00f3digo de salida<\/td><td><code>docker stop<\/code> o fallo<\/td><\/tr>\n<tr><td><code>dead<\/code><\/td><td>Fallo en la eliminaci\u00f3n<\/td><td>Error interno del daemon<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Ese <code>Exited (137)<\/code> de las 3am significaba: el proceso fue terminado por una se\u00f1al 9 (SIGKILL). En mi caso, el OOMKiller del kernel mat\u00f3 el contenedor porque super\u00f3 el l\u00edmite de memoria. El c\u00f3digo de salida <code>137 = 128 + 9<\/code>. Una vez que entend\u00e9s la convenci\u00f3n, el diagn\u00f3stico es inmediato.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">docker run: el comando que m\u00e1s us\u00e1s y menos conoc\u00e9s<\/h2>\n\n\n\n<p>El 80% de las veces empezamos con <code>docker run nombre-imagen<\/code> y nos conformamos con eso. Pero <code>docker run<\/code> tiene decenas de flags que cambian completamente el comportamiento del contenedor. Ac\u00e1 est\u00e1n los que realmente uso:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Flags de ejecuci\u00f3n b\u00e1sicos<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># -d: modo detached (background) - casi siempre lo quiero en producci\u00f3n\ndocker run -d nginx\n\n# --name: nombre legible - SIEMPRE lo pongo\ndocker run -d --name mi-nginx nginx\n\n# -p: mapeo de puertos host:contenedor\ndocker run -d --name mi-nginx -p 8080:80 nginx\n\n# -e: variables de entorno\ndocker run -d --name mi-api   -e ASPNETCORE_ENVIRONMENT=Production   -e ConnectionStrings__Default=\"Server=db;Database=miapp\"   mi-api:latest\n\n# --env-file: variables desde archivo (no las expongo en bash history)\ndocker run -d --name mi-api --env-file .env.prod mi-api:latest<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Pol\u00edticas de reinicio: la diferencia entre prod y dev<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># no (default): no reinicia nunca\ndocker run --restart=no mi-app\n\n# always: siempre reinicia, incluso al reboot del host\n# (\u00fasalo para servicios cr\u00edticos en producci\u00f3n)\ndocker run -d --restart=always --name mi-api mi-api:latest\n\n# unless-stopped: como always, pero respeta docker stop manual\ndocker run -d --restart=unless-stopped --name mi-api mi-api:latest\n\n# on-failure:N: reinicia solo si falla, m\u00e1ximo N veces\ndocker run -d --restart=on-failure:3 mi-worker:latest<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">L\u00edmites de recursos: lo que me hubiera evitado la alerta de las 3am<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Limitar memoria y CPU\ndocker run -d   --name mi-api   --memory=\"512m\" \\          # m\u00e1ximo 512MB de RAM\n  --memory-swap=\"1g\" \\       # swap incluido\n  --cpus=\"0.5\" \\             # m\u00e1ximo 50% de un CPU\n  --restart=unless-stopped   mi-api:latest\n\n# Ver uso de recursos en tiempo real\ndocker stats\ndocker stats mi-api           # solo ese contenedor<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Los comandos de gesti\u00f3n que uso todos los d\u00edas<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># Listar contenedores\ndocker ps                    # en ejecuci\u00f3n\ndocker ps -a                 # todos, incluso detenidos\ndocker ps -a --format \"table {{.Names}}\t{{.Status}}\t{{.Ports}}\"\n\n# Logs - mi herramienta principal de diagn\u00f3stico\ndocker logs mi-api\ndocker logs -f mi-api        # follow (como tail -f)\ndocker logs --tail 100 mi-api\ndocker logs --since 1h mi-api   # \u00faltima hora\ndocker logs --since \"2026-03-11T03:00:00\" mi-api\n\n# Ejecutar comandos dentro del contenedor\ndocker exec mi-api ls \/app\ndocker exec -it mi-api bash  # shell interactivo\ndocker exec -it mi-api sh    # para contenedores Alpine (sin bash)\n\n# Copiar archivos entre host y contenedor\ndocker cp mi-api:\/app\/logs\/error.log .\/error.log\ndocker cp .\/config.json mi-api:\/app\/config.json<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Diagnosticar el problema de las 3am: mi checklist<\/h2>\n\n\n\n<p>Cuando me llega una alerta de contenedor ca\u00eddo, sigo siempre el mismo proceso:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># 1. Ver el estado y el c\u00f3digo de salida\ndocker ps -a | grep mi-api\n# CONTAINER ID   IMAGE       STATUS                      NAMES\n# a1b2c3d4e5f6   mi-api     Exited (137) 2 minutes ago  mi-api\n\n# 2. Ver los \u00faltimos logs ANTES de que muriera\ndocker logs --tail 50 mi-api\n\n# 3. Inspeccionar el contenedor completo\ndocker inspect mi-api | python3 -m json.tool | grep -A5 \"State\"\n\n# 4. Ver eventos del daemon\ndocker system events --since 1h --filter container=mi-api\n\n# C\u00f3digos de salida comunes:\n# 0   \u2192 salida normal (proceso termin\u00f3 correctamente)\n# 1   \u2192 error gen\u00e9rico de la aplicaci\u00f3n\n# 137 \u2192 SIGKILL (OOM Killer o docker kill)\n# 143 \u2192 SIGTERM (docker stop - salida limpia)\n# 126 \u2192 permisos insuficientes para ejecutar el comando\n# 127 \u2192 comando no encontrado<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Detener y eliminar contenedores correctamente<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># Detener con gracia (env\u00eda SIGTERM, espera 10s, luego SIGKILL)\ndocker stop mi-api\n\n# Detener m\u00e1s r\u00e1pido (menos tiempo de espera)\ndocker stop --time=5 mi-api\n\n# Forzar eliminaci\u00f3n inmediata (SIGKILL directo - para emergencias)\ndocker kill mi-api\n\n# Eliminar contenedor detenido\ndocker rm mi-api\n\n# Detener Y eliminar en uno\ndocker rm -f mi-api\n\n# Limpiar todos los contenedores detenidos\ndocker container prune<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Lo que aprend\u00ed esa noche<\/h2>\n\n\n\n<p>El contenedor que fall\u00f3 a las 3am no ten\u00eda l\u00edmites de memoria configurados, y el proceso .NET ten\u00eda una fuga de memoria. El OOMKiller del kernel lo mat\u00f3 antes de que pudiera afectar al nodo completo. En cierta forma, funcion\u00f3 como deb\u00eda. Desde entonces, todos mis contenedores de producci\u00f3n tienen <code>--memory<\/code> configurado y pol\u00edtica <code>--restart=unless-stopped<\/code>. Una mala noche bien aprovechada.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><em>\u2190 <a href=\"https:\/\/maurobernal.com.ar\/blog\/blog\/kubernetes\/como-escribir-dockerfiles-buenas-practicas-ejemplos\/\">Art\u00edculo anterior: C\u00f3mo escribir Dockerfiles<\/a> | <strong>Serie Docker Completo<\/strong> | Pr\u00f3ximo: Vol\u00famenes y persistencia \u2192<\/em><\/p>\n\n\n<hr class=\"wp-block-separator\"\/>\n<p><em>\u2190 <a href=\"https:\/\/maurobernal.com.ar\/blog\/blog\/kubernetes\/como-escribir-dockerfiles-buenas-practicas-ejemplos\/\">Art\u00edculo anterior: Mi gu\u00eda para escribir Dockerfiles que no me den verg\u00fcenza<\/a> | <strong>Serie Docker Completo<\/strong> | Pr\u00f3ximo: <a href=\"https:\/\/maurobernal.com.ar\/blog\/blog\/kubernetes\/volumenes-docker-persistencia-datos-guia-practica\/\">Cuando perd\u00ed datos de producci\u00f3n por no usar vol\u00famenes (y c\u00f3mo no repetirlo) \u2192<\/a><\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>Estados de un contenedor, docker run con todos sus flags \u00fatiles, pol\u00edticas de reinicio, l\u00edmites de recursos y c\u00f3mo diagnosticar un contenedor ca\u00eddo a las 3am.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[233],"tags":[251,241,242,240,252,215],"class_list":["post-1171","post","type-post","status-publish","format-standard","hentry","category-kubernetes","tag-ciclo-de-vida","tag-contenedores","tag-devops","tag-docker","tag-docker-run","tag-linux"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>docker run y todo lo que nadie te explica del ciclo de vida de un contenedor &#183; devops Mauro Bernal<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor &#183; devops Mauro Bernal\" \/>\n<meta property=\"og:description\" content=\"Estados de un contenedor, docker run con todos sus flags \u00fatiles, pol\u00edticas de reinicio, l\u00edmites de recursos y c\u00f3mo diagnosticar un contenedor ca\u00eddo a las 3am.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/\" \/>\n<meta property=\"og:site_name\" content=\"devops Mauro Bernal\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-11T18:20:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-11T23:02:18+00:00\" \/>\n<meta name=\"author\" content=\"Mauro Bernal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@_maurobernal\" \/>\n<meta name=\"twitter:site\" content=\"@_maurobernal\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mauro Bernal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\\\/\"},\"author\":{\"name\":\"Mauro Bernal\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"headline\":\"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor\",\"datePublished\":\"2026-03-11T18:20:20+00:00\",\"dateModified\":\"2026-03-11T23:02:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\\\/\"},\"wordCount\":417,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"keywords\":[\"ciclo-de-vida\",\"contenedores\",\"devops\",\"docker\",\"docker-run\",\"linux\"],\"articleSection\":[\"Kubernetes\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\\\/\",\"url\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\\\/\",\"name\":\"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor &#183; devops Mauro Bernal\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#website\"},\"datePublished\":\"2026-03-11T18:20:20+00:00\",\"dateModified\":\"2026-03-11T23:02:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/\",\"name\":\"devops Mauro Bernal\",\"description\":\"Cuando tu trabajo es hacer que las cosas funcionen bien...\",\"publisher\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\",\"name\":\"Mauro Bernal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"width\":1740,\"height\":1740,\"caption\":\"Mauro Bernal\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\"},\"description\":\"Desarrollo de Sistemas en .Net, IT Callcenters, DBA de SQL Server, Mikrotik, Pentest y T\u00e9cnico consultor de Sistemas Bejerman\",\"sameAs\":[\"https:\\\/\\\/maurobernal.com.ar\",\"https:\\\/\\\/x.com\\\/_maurobernal\",\"https:\\\/\\\/youtube.com\\\/maurobernal\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor &#183; devops Mauro Bernal","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/","og_locale":"es_ES","og_type":"article","og_title":"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor &#183; devops Mauro Bernal","og_description":"Estados de un contenedor, docker run con todos sus flags \u00fatiles, pol\u00edticas de reinicio, l\u00edmites de recursos y c\u00f3mo diagnosticar un contenedor ca\u00eddo a las 3am.","og_url":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/","og_site_name":"devops Mauro Bernal","article_published_time":"2026-03-11T18:20:20+00:00","article_modified_time":"2026-03-11T23:02:18+00:00","author":"Mauro Bernal","twitter_card":"summary_large_image","twitter_creator":"@_maurobernal","twitter_site":"@_maurobernal","twitter_misc":{"Escrito por":"Mauro Bernal","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/#article","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/"},"author":{"name":"Mauro Bernal","@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"headline":"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor","datePublished":"2026-03-11T18:20:20+00:00","dateModified":"2026-03-11T23:02:18+00:00","mainEntityOfPage":{"@id":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/"},"wordCount":417,"commentCount":0,"publisher":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"keywords":["ciclo-de-vida","contenedores","devops","docker","docker-run","linux"],"articleSection":["Kubernetes"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/","url":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/","name":"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor &#183; devops Mauro Bernal","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#website"},"datePublished":"2026-03-11T18:20:20+00:00","dateModified":"2026-03-11T23:02:18+00:00","breadcrumb":{"@id":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/maurobernal.com.ar\/blog\/ciclo-de-vida-contenedor-docker-run-comandos-esenciales\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/maurobernal.com.ar\/blog\/"},{"@type":"ListItem","position":2,"name":"docker run y todo lo que nadie te explica del ciclo de vida de un contenedor"}]},{"@type":"WebSite","@id":"https:\/\/maurobernal.com.ar\/blog\/#website","url":"https:\/\/maurobernal.com.ar\/blog\/","name":"devops Mauro Bernal","description":"Cuando tu trabajo es hacer que las cosas funcionen bien...","publisher":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/maurobernal.com.ar\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283","name":"Mauro Bernal","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","url":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","contentUrl":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","width":1740,"height":1740,"caption":"Mauro Bernal"},"logo":{"@id":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1"},"description":"Desarrollo de Sistemas en .Net, IT Callcenters, DBA de SQL Server, Mikrotik, Pentest y T\u00e9cnico consultor de Sistemas Bejerman","sameAs":["https:\/\/maurobernal.com.ar","https:\/\/x.com\/_maurobernal","https:\/\/youtube.com\/maurobernal"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/comments?post=1171"}],"version-history":[{"count":4,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1171\/revisions"}],"predecessor-version":[{"id":1246,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1171\/revisions\/1246"}],"wp:attachment":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/media?parent=1171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/categories?post=1171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/tags?post=1171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}