{"id":2435,"date":"2016-11-12T03:32:36","date_gmt":"2016-11-12T03:32:35","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2435"},"modified":"2023-01-25T15:45:59","modified_gmt":"2023-01-25T23:45:59","slug":"docker-health-check-keeping-containers-healthy","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/docker-health-check-keeping-containers-healthy\/","title":{"rendered":"Usando o comando Docker Healthcheck"},"content":{"rendered":"<p>Um dos novos recursos do Docker 1.12 \u00e9 como a verifica\u00e7\u00e3o de integridade de um cont\u00eainer pode ser incorporada \u00e0 defini\u00e7\u00e3o da imagem. E isso pode ser substitu\u00eddo na linha de comando. Assim como o <code>CMD<\/code> instru\u00e7\u00e3o, pode haver v\u00e1rios <code>VERIFICA\u00c7\u00c3O DE SA\u00daDE<\/code> no Dockerfile, mas somente a \u00faltima \u00e9 eficaz.<\/p>\n<p>Essa \u00e9 uma \u00f3tima adi\u00e7\u00e3o, pois um cont\u00eainer que informa o status como <code>At\u00e9 1 hora<\/code> pode retornar erros. O cont\u00eainer pode estar ativo, mas n\u00e3o h\u00e1 como o aplicativo dentro do cont\u00eainer fornecer um status. Essa instru\u00e7\u00e3o corrige isso.<\/p>\n<p>O\u00a0<a href=\"https:\/\/github.com\/arun-gupta\/docker-images\/blob\/master\/couchbase\/Dockerfile\">Dockerfile<\/a> que constr\u00f3i <a href=\"https:\/\/hub.docker.com\/r\/arungupta\/couchbase\/\">arungupta\/couchbase<\/a> A imagem \u00e9:<\/p>\n<pre class=\"lang:default decode:true\">FROM couchbase:latest\r\n\r\nCOPIAR configure-node.sh \/opt\/couchbase\r\n\r\nHEALTHCHECK --intervalo=5s --timeout=3s CMD curl --fail https:\/\/localhost:8091\/pools || exit 1\r\n\r\nCMD [\"\/opt\/couchbase\/configure-node.sh\"]<\/pre>\n<p>Ele usa <code>configure-node.sh<\/code> para configurar o servidor usando <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/rest-api\/rest-endpoints-all.html\">API REST do Couchbase<\/a>. A nova instru\u00e7\u00e3o a ser observada aqui \u00e9 <code>VERIFICA\u00c7\u00c3O DE SA\u00daDE<\/code>. Essa instru\u00e7\u00e3o pode ser especificada como:<\/p>\n<pre class=\"lang:default decode:true\">CMD DE VERIFICA\u00c7\u00c3O DE SA\u00daDE<\/pre>\n<p>O <code><\/code> pode ser:<\/p>\n<ul>\n<li><code>--intervalo=DURA\u00c7\u00c3O<\/code> (padr\u00e3o 30s)<\/li>\n<li><code>--timeout=DURATION<\/code> (padr\u00e3o 30s)<\/li>\n<li><code>--retries=N<\/code> (padr\u00e3o 3)<\/li>\n<\/ul>\n<p>O <code><\/code> \u00e9 o comando que \u00e9 executado dentro do cont\u00eainer para verificar sua integridade. Se a verifica\u00e7\u00e3o de integridade estiver ativada, o cont\u00eainer poder\u00e1 ter tr\u00eas estados:<\/p>\n<ul>\n<li><code>in\u00edcio<\/code> - Status inicial quando o cont\u00eainer ainda est\u00e1 sendo iniciado<\/li>\n<li><code>saud\u00e1vel<\/code> - Se o comando for bem-sucedido, o cont\u00eainer estar\u00e1 \u00edntegro<\/li>\n<li>insalubre - Se uma \u00fanica execu\u00e7\u00e3o do\u00a0<code><\/code> demorar mais do que o tempo limite especificado, ele ser\u00e1 considerado insalubre. Se uma verifica\u00e7\u00e3o de integridade falhar, novas tentativas ser\u00e3o executadas v\u00e1rias vezes e o status do cont\u00eainer do Docker ser\u00e1 declarado insalubre se ainda falhar.<\/li>\n<\/ul>\n<p>O status de sa\u00edda dos comandos do Docker indica o status do HEALTHCHECK do cont\u00eainer. Os seguintes valores s\u00e3o permitidos:<\/p>\n<ul>\n<li><code>0<\/code> - o cont\u00eainer \u00e9 saud\u00e1vel<\/li>\n<li><code>1<\/code> - o cont\u00eainer n\u00e3o \u00e9 saud\u00e1vel<\/li>\n<\/ul>\n<p>Em nossa instru\u00e7\u00e3o, <code>\/pools<\/code> A API REST \u00e9 chamada usando curl. Se o comando falhar, um status de sa\u00edda de <code>1<\/code> \u00e9 retornado, e isso marca o cont\u00eainer como n\u00e3o saud\u00e1vel para essa tentativa. Esse comando Docker HEALTHCHECK \u00e9 chamado a cada 5 segundos. O cont\u00eainer \u00e9 marcado como n\u00e3o saud\u00e1vel se o comando n\u00e3o retornar com \u00eaxito em 3 segundos. Execute o cont\u00eainer como:<\/p>\n<pre class=\"lang:default decode:true\">docker run -d --name db arungupta\/couchbase:latest<\/pre>\n<p>Verifique o status do cont\u00eainer do Docker:<\/p>\n<pre class=\"lang:default decode:true\">docker ps\r\nID DO CONT\u00caINER IMAGEM COMANDO CRIADO STATUS PORTAS NOMES\r\n55b14302671e arungupta\/couchbase:latest \"\/entrypoint.sh \/opt\/\" 2 seconds ago Up 1 seconds (health: starting) 8091-8094\/tcp, 11207\/tcp, 11210-11211\/tcp, 18091-18093\/tcp db<\/pre>\n<p>Observe como <code>sa\u00fade: in\u00edcio<\/code> O status \u00e9 relatado no <code>STATUS<\/code> coluna. A verifica\u00e7\u00e3o ap\u00f3s alguns segundos mostra o status:<\/p>\n<pre class=\"lang:default decode:true\">docker ps\r\nID DO CONT\u00caINER IMAGEM COMANDO CRIADO STATUS PORTAS NOMES\r\n55b14302671e arungupta\/couchbase:latest \"\/entrypoint.sh \/opt\/\" About a minute ago Up About a minute (healthy) 8091-8094\/tcp, 11207\/tcp, 11210-11211\/tcp, 18091-18093\/tcp db<\/pre>\n<p>E agora ele \u00e9 relatado como saud\u00e1vel. Mais detalhes sobre isso <code>VERIFICA\u00c7\u00c3O DE SA\u00daDE<\/code> As instru\u00e7\u00f5es podem ser encontradas em <a href=\"https:\/\/docs.docker.com\/engine\/reference\/builder\/#\/healthcheck\">docs.docker.com<\/a>. Agora, se voc\u00ea estiver executando uma imagem que n\u00e3o tenha <code>VERIFICA\u00c7\u00c3O DE SA\u00daDE<\/code> ent\u00e3o a instru\u00e7\u00e3o\u00a0<code>execu\u00e7\u00e3o do docker<\/code>\u00a0pode ser usado para especificar valores semelhantes. Um comando de tempo de execu\u00e7\u00e3o equivalente seria:<\/p>\n<pre class=\"lang:default decode:true\">docker run -d --name db --health-cmd \"curl --fail https:\/\/localhost:8091\/pools || exit 1\" --health-interval=5s --timeout=3s arungupta\/couchbase<\/pre>\n<p>As \u00faltimas 5 verifica\u00e7\u00f5es de integridade de um cont\u00eainer podem ser obtidas usando o <code>inspe\u00e7\u00e3o de docas<\/code> comando:<\/p>\n<pre class=\"lang:default decode:true\">docker inspect --format='{{json .State.Health}}' db<\/pre>\n<p>A sa\u00edda \u00e9 mostrada como:<\/p>\n<pre class=\"lang:default decode:true\">{\r\n  \"Status\": \"saud\u00e1vel\",\r\n  \"FailingStreak\": 0,\r\n  \"Log\": [\r\n    {\r\n      \"Start\" (In\u00edcio): \"2016-11-12T03:23:03.351561Z\",\r\n      \"End\" (Fim): \"2016-11-12T03:23:03.422176171Z\",\r\n      \"ExitCode\": 0,\r\n      \"Output\": \" % Total % Recebido % Xferd Velocidade m\u00e9dia Tempo Tempo Tempo Tempo Tempo Tempo Currentn Dload Upload Total Spent Left Speednr 0 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:--:-- 0r100 768 100 768 0 0 595k 0 --:--:--:--:--:--:-- --:--:-- 750kn{\"isAdminCreds\":true, \"isROAdminCreds\":false, \"isEnterprise\":true, \"pools\":[{\"name\": \"default\", \"uri\":\"\/pools\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\",\"streamingUri\":\"\/poolsStreaming\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\"}],\"settings\":{\"maxParallelIndexers\":\"\/settings\/maxParallelIndexers?uuid=1b84cdbd136e4e8466049dd062dd6969\",\"viewUpdateDaemon\":\"\/settings\/viewUpdateDaemon?uuid=1b84cdbd136e4e8466049dd062dd6969\"},\"uuid\":\"1b84cdbd136e4e8466049dd062dd6969\",\"implementationVersion\":\"4.5.1-2844-enterprise\",\"componentsVersion\":{\"lhttpc\":\"1.3.0\",\"os_mon\":\"2.2.14\",\"public_key\":\"0.21\",\"asn1\":\"2.0.4\",\"kernel\":\"2.16.4\",\"ale\":\"4.5.1-2844-enterprise\",\"inets\":\"5.9.8\",\"ns_server\":\"4.5.1-2844-enterprise\",\"crypto\":\"3.2\",\"ssl\":\"5.3.3\",\"sasl\":\"2.3.4\",\"stdlib\":\"1.19.4\"}}\"\r\n    },\r\n    {\r\n      \"Start\" (In\u00edcio): \"2016-11-12T03:23:08.423558928Z\",\r\n      \"End\" (Fim): \"2016-11-12T03:23:08.510122392Z\",\r\n      \"ExitCode\": 0,\r\n      \"Output\": \" % Total % Recebido % Xferd Velocidade m\u00e9dia Tempo Tempo Tempo Tempo Tempo Tempo Currentn Dload Upload Total Spent Left Speednr 0 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:--:-- 0r100 768 100 768 0 0 309k 0 --:--:--:--:--:--:-- --:--:-- 375kn{\"isAdminCreds\":true, \"isROAdminCreds\":false, \"isEnterprise\":true, \"pools\":[{\"name\": \"default\", \"uri\":\"\/pools\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\",\"streamingUri\":\"\/poolsStreaming\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\"}],\"settings\":{\"maxParallelIndexers\":\"\/settings\/maxParallelIndexers?uuid=1b84cdbd136e4e8466049dd062dd6969\",\"viewUpdateDaemon\":\"\/settings\/viewUpdateDaemon?uuid=1b84cdbd136e4e8466049dd062dd6969\"},\"uuid\":\"1b84cdbd136e4e8466049dd062dd6969\",\"implementationVersion\":\"4.5.1-2844-enterprise\",\"componentsVersion\":{\"lhttpc\":\"1.3.0\",\"os_mon\":\"2.2.14\",\"public_key\":\"0.21\",\"asn1\":\"2.0.4\",\"kernel\":\"2.16.4\",\"ale\":\"4.5.1-2844-enterprise\",\"inets\":\"5.9.8\",\"ns_server\":\"4.5.1-2844-enterprise\",\"crypto\":\"3.2\",\"ssl\":\"5.3.3\",\"sasl\":\"2.3.4\",\"stdlib\":\"1.19.4\"}}\"\r\n    },\r\n    {\r\n      \"Start\" (In\u00edcio): \"2016-11-12T03:23:13.511446818Z\",\r\n      \"End\" (Fim): \"2016-11-12T03:23:13.58141325Z\",\r\n      \"ExitCode\": 0,\r\n      \"Output\": \" {\"isAdminCreds\":true, \"isROAdminCreds\":false, \"isEnterprise\":true, \"pools\":[{\"name\": \"default\", \"uri\":\"\/pools\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\", \"streamingUri\":\"\/poolsStreaming\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\"}],\"settings\":{\"maxParallelIndexers\":\"\/settings\/maxParallelIndexers?uuid=1b84cdbd136e4e8466049dd062dd6969\",\"viewUpdateDaemon\":\"\/settings\/viewUpdateDaemon?uuid=1b84cdbd136e4e8466049dd062dd6969\"},\"uuid\":\"1b84cdbd136e4e8466049dd062dd6969\",\"implementationVersion\":\"4.5.1-2844-enterprise\",\"componentsVersion\":{\"lhttpc\":\"1.3.0\",\"os_mon\":\"2.2.14\",\"public_key\":\"0.21\",\"asn1\":\"2.0.4\",\"kernel\":\"2.16.4\",\"ale\":\"4.5.1-2844-enterprise\",\"inets\":\"5.9.8\",\"ns_server\":\"4.5.1-2844-enterprise\",\"crypto\":\"3.2\",\"ssl\":\"5.3.3\",\"sasl\":\"2.3.4\",\"stdlib\":\"1.19.4\"}} % Total % Recebido % Transferido Velocidade m\u00e9dia Tempo Tempo Tempo Tempo Tempo Atual Dload Upload Total Gasto Velocidade Esquerda 0 0 0 0 0 0 0 0 0 --:--:-- --:--:--:--:--:-- 0r100 768 100 768 0 0 248k 0 --:--:-- --:--:--:--:--:--:--:--:-- 375kn\"\r\n    },\r\n    {\r\n      \"Start\" (In\u00edcio): \"2016-11-12T03:23:18.583512367Z\",\r\n      \"End\" (Fim): \"2016-11-12T03:23:18.677727356Z\",\r\n      \"ExitCode\": 0,\r\n      \"Output\": \" % Total % Recebido % Xferd Velocidade m\u00e9dia Tempo Tempo Tempo Tempo Atual Dlo{\"isAdminCreds\":true, \"isROAdminCreds\":false, \"isEnterprise\":true, \"pools\":[{\"name\": \"default\", \"uri\":\"\/pools\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\",\"streamingUri\":\"\/poolsStreaming\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\"}],\"settings\":{\"maxParallelIndexers\":\"\/settings\/maxParallelIndexers?uuid=1b84cdbd136e4e8466049dd062dd6969\",\"viewUpdateDaemon\":\"\/settings\/viewUpdateDaemon?uuid=1b84cdbd136e4e8466049dd062dd6969\"},\"uuid\":\"1b84cdbd136e4e8466049dd062dd6969\",\"implementationVersion\":\"4.5.1-2844-enterprise\",\"componentsVersion\":{\"lhttpc\":\"1.3.0\",\"os_mon\":\"2.2.14\",\"public_key\":\"0.21\",\"asn1\":\"2.0.4\",\"kernel\":\"2.16.4\",\"ale\":\"4.5.1-2844-enterprise\",\"inets\":\"5.9.8\",\"ns_server\":\"4.5.1-2844-enterprise\", \"crypto\": \"3.2\", \"ssl\": \"5.3.3\", \"sasl\": \"2.3.4\", \"stdlib\": \"1.19.4\"}}ad Upload Total Spent Left Speednr 0 0 0 0 0 0 0 0 0 0 0 0 --:--:--:--:--:--:--:--:-- 0r100 768 100 768 0 0 307k 0 --:--:--:--:--:--:--:--:-- 375kn\"\r\n    },\r\n    {\r\n      \"Start\" (In\u00edcio): \"2016-11-12T03:23:23.679661467Z\",\r\n      \"End\" (Fim): \"2016-11-12T03:23:23.782372291Z\",\r\n      \"ExitCode\": 0,\r\n      \"Output\": \" % Total % Recebido % Xferd Velocidade m\u00e9dia Tempo Tempo Tempo Tempo Atual Carga Upload Total Gasto Esquerda{\"isAdminCreds\":true, \"isROAdminCreds\":false, \"isEnterprise\":true, \"pools\":[{\"name\": \"default\", \"uri\":\"\/pools\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\",\"streamingUri\":\"\/poolsStreaming\/default?uuid=1b84cdbd136e4e8466049dd062dd6969\"}],\"settings\":{\"maxParallelIndexers\":\"\/settings\/maxParallelIndexers?uuid=1b84cdbd136e4e8466049dd062dd6969\",\"viewUpdateDaemon\":\"\/settings\/viewUpdateDaemon?uuid=1b84cdbd136e4e8466049dd062dd6969\"},\"uuid\":\"1b84cdbd136e4e8466049dd062dd6969\",\"implementationVersion\":\"4.5.1-2844-enterprise\",\"componentsVersion\":{\"lhttpc\":\"1.3.0\",\"os_mon\":\"2.2.14\",\"public_key\":\"0.21\",\"asn1\":\"2.0.4\",\"kernel\":\"2.16.4\",\"ale\":\"4.5.1-2844-enterprise\",\"inets\":\"5.9.8\",\"ns_server\":\"4.5.1-2844-enterprise\",\"crypto\":\"3.2\",\"ssl\":\"5.3.3\",\"sasl\":\"2.3.4\",\"stdlib\":\"1.19.4\"}}  Speednr 0 0 0 0 0 0 0 0 0 --:--:-- --:--:--:--:--:--:-- 0r100 768 100 768 0 0 439k 0 --:--:--:-- --:--:--:--:--:--:750kn\"\r\n    }\r\n  ]\r\n}<\/pre>","protected":false},"excerpt":{"rendered":"<p>Um dos novos recursos do Docker 1.12 \u00e9 como a verifica\u00e7\u00e3o de integridade de um cont\u00eainer pode ser incorporada \u00e0 defini\u00e7\u00e3o da imagem. E isso pode ser substitu\u00eddo na linha de comando. Assim como a instru\u00e7\u00e3o CMD, pode haver v\u00e1rias instru\u00e7\u00f5es HEALTHCHECK em [...]<\/p>","protected":false},"author":58,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[],"ppma_author":[8933],"class_list":["post-2435","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Docker Healthcheck Command Status for Unhealthy Containers<\/title>\n<meta name=\"description\" content=\"Find out how to improve outcomes and monitor the status of unhealthy containers in your Couchbase environment using the Docker HEALTHCHECK command.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/docker-health-check-keeping-containers-healthy\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using the Docker Healthcheck Command\" \/>\n<meta property=\"og:description\" content=\"Find out how to improve outcomes and monitor the status of unhealthy containers in your Couchbase environment using the Docker HEALTHCHECK command.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/docker-health-check-keeping-containers-healthy\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-12T03:32:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-25T23:45:59+00:00\" \/>\n<meta name=\"author\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@arungupta\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\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:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Using the Docker Healthcheck Command\",\"datePublished\":\"2016-11-12T03:32:35+00:00\",\"dateModified\":\"2023-01-25T23:45:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/\"},\"wordCount\":383,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/\",\"name\":\"Docker Healthcheck Command Status for Unhealthy Containers\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-11-12T03:32:35+00:00\",\"dateModified\":\"2023-01-25T23:45:59+00:00\",\"description\":\"Find out how to improve outcomes and monitor the status of unhealthy containers in your Couchbase environment using the Docker HEALTHCHECK command.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using the Docker Healthcheck Command\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\",\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"caption\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\"},\"description\":\"Arun Gupta is the vice president of developer advocacy at Couchbase. He has built and led developer communities for 10+ years at Sun, Oracle, and Red Hat. He has deep expertise in leading cross-functional teams to develop and execute strategy, planning and execution of content, marketing campaigns, and programs. Prior to that he led engineering teams at Sun and is a founding member of the Java EE team. Gupta has authored more than 2,000 blog posts on technology. He has extensive speaking experience in more than 40 countries on myriad topics and is a JavaOne Rock Star for three years in a row. Gupta also founded the Devoxx4Kids chapter in the US and continues to promote technology education among children. An author of several books on technology, an avid runner, a globe trotter, a Java Champion, a JUG leader, NetBeans Dream Team member, and a Docker Captain, he is easily accessible at @arungupta.\",\"sameAs\":[\"https:\/\/x.com\/arungupta\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/arun-gupta\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Status do comando Docker Healthcheck para cont\u00eaineres n\u00e3o saud\u00e1veis","description":"Descubra como melhorar os resultados e monitorar o status de cont\u00eaineres n\u00e3o saud\u00e1veis no seu ambiente Couchbase usando o comando Docker HEALTHCHECK.","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:\/\/www.couchbase.com\/blog\/pt\/docker-health-check-keeping-containers-healthy\/","og_locale":"pt_BR","og_type":"article","og_title":"Using the Docker Healthcheck Command","og_description":"Find out how to improve outcomes and monitor the status of unhealthy containers in your Couchbase environment using the Docker HEALTHCHECK command.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/docker-health-check-keeping-containers-healthy\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-11-12T03:32:35+00:00","article_modified_time":"2023-01-25T23:45:59+00:00","author":"Arun Gupta, VP, Developer Advocacy, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@arungupta","twitter_misc":{"Written by":"Arun Gupta, VP, Developer Advocacy, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Using the Docker Healthcheck Command","datePublished":"2016-11-12T03:32:35+00:00","dateModified":"2023-01-25T23:45:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/"},"wordCount":383,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/","url":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/","name":"Status do comando Docker Healthcheck para cont\u00eaineres n\u00e3o saud\u00e1veis","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-11-12T03:32:35+00:00","dateModified":"2023-01-25T23:45:59+00:00","description":"Descubra como melhorar os resultados e monitorar o status de cont\u00eaineres n\u00e3o saud\u00e1veis no seu ambiente Couchbase usando o comando Docker HEALTHCHECK.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/docker-health-check-keeping-containers-healthy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Using the Docker Healthcheck Command"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f","name":"Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337","url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","caption":"Arun Gupta, VP, Developer Advocacy, Couchbase"},"description":"Arun Gupta \u00e9 o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experi\u00eancia na lideran\u00e7a de equipes multifuncionais para desenvolver e executar estrat\u00e9gias, planejamento e execu\u00e7\u00e3o de conte\u00fado, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e \u00e9 membro fundador da equipe Java EE. Gupta \u00e9 autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experi\u00eancia em palestras em mais de 40 pa\u00edses sobre uma infinidade de t\u00f3picos e \u00e9 um JavaOne Rock Star h\u00e1 tr\u00eas anos consecutivos. Gupta tamb\u00e9m fundou o cap\u00edtulo Devoxx4Kids nos EUA e continua a promover a educa\u00e7\u00e3o tecnol\u00f3gica entre as crian\u00e7as. Autor de v\u00e1rios livros sobre tecnologia, corredor \u00e1vido, viajante do mundo inteiro, campe\u00e3o de Java, l\u00edder de JUG, membro do NetBeans Dream Team e capit\u00e3o do Docker, ele pode ser facilmente acessado em @arungupta.","sameAs":["https:\/\/x.com\/arungupta"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/arun-gupta\/"}]}},"authors":[{"term_id":8933,"user_id":58,"is_guest":0,"slug":"arun-gupta","display_name":"Arun Gupta, VP, Developer Advocacy, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","author_category":"","last_name":"Gupta","first_name":"Arun","job_title":"","user_url":"","description":"Arun Gupta \u00e9 o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experi\u00eancia na lideran\u00e7a de equipes multifuncionais para desenvolver e executar estrat\u00e9gias, planejamento e execu\u00e7\u00e3o de conte\u00fado, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e \u00e9 membro fundador da equipe Java EE.\r\n\r\nGupta \u00e9 autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experi\u00eancia em palestras em mais de 40 pa\u00edses sobre diversos t\u00f3picos e \u00e9 um JavaOne Rock Star h\u00e1 tr\u00eas anos consecutivos. Gupta tamb\u00e9m fundou o cap\u00edtulo Devoxx4Kids nos EUA e continua a promover a educa\u00e7\u00e3o tecnol\u00f3gica entre as crian\u00e7as. Autor de v\u00e1rios livros sobre tecnologia, corredor \u00e1vido, viajante do mundo inteiro, campe\u00e3o de Java, l\u00edder de JUG, membro do NetBeans Dream Team e capit\u00e3o do Docker, ele pode ser facilmente acessado em @arungupta."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2435"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2435\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2435"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}