{"id":15705,"date":"2019-05-17T09:54:46","date_gmt":"2019-05-17T12:54:46","guid":{"rendered":"https:\/\/blog.hostinger.io\/br-tutoriais\/?p=15705"},"modified":"2026-01-16T16:08:52","modified_gmt":"2026-01-16T19:08:52","slug":"container-docker","status":"publish","type":"post","link":"\/br\/tutoriais\/container-docker\/","title":{"rendered":"Tutorial: como iniciar container Docker em 2026"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Se voc&ecirc; est&aacute; trabalhando em um aplicativo ou um servi&ccedil;o que funciona em v&aacute;rios sistemas operacionais, o&nbsp;<strong>Docker<\/strong>&nbsp;pode simplificar seu processo de implanta&ccedil;&atilde;o.<\/p><p class=\"wp-block-paragraph\">Com a cria&ccedil;&atilde;o de containers Docker, voc&ecirc; pode lan&ccedil;ar sem esfor&ccedil;o v&aacute;rias aplica&ccedil;&otilde;es ou servi&ccedil;os em sistemas como hospedagem de servidor privado virtual ou m&aacute;quinas dedicadas. O Docker tamb&eacute;m &eacute; leve, mais f&aacute;cil de implantar e oferece melhor desempenho do que m&aacute;quinas virtuais.<\/p><p class=\"wp-block-paragraph\">Os containers Docker possuem todas as depend&ecirc;ncias necess&aacute;rias para executar aplicativos, eliminando problemas de compatibilidade. Criar containers Docker do zero &eacute; vital para qualquer projeto de desenvolvimento que voc&ecirc; deseje implantar usando este software de c&oacute;digo aberto.<\/p><p class=\"wp-block-paragraph\">Este tutorial ir&aacute; guiar voc&ecirc; na cria&ccedil;&atilde;o de um container Docker, detalhando seus benef&iacute;cios no desenvolvimento de software e as melhores pr&aacute;ticas para isso.<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Linux-Commands-Cheatsheet-BR.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/Linux-cheat-sheet-BR.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-30351\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/Linux-cheat-sheet-BR.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/Linux-cheat-sheet-BR.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/Linux-cheat-sheet-BR.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/Linux-cheat-sheet-BR.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/Linux-cheat-sheet-BR.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n\n\n\n\n\n\n<\/p><p class=\"wp-block-paragraph\"><\/p><p>\n\n\n<div class=\"protip\"><div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                   O Que &Eacute; um Container Docker?\n                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Um container Docker &eacute; um pacote de software autossuficiente com todas as depend&ecirc;ncias necess&aacute;rias para executar um aplicativo espec&iacute;fico em diferentes sistemas operacionais. A imagem Docker dita todas as instru&ccedil;&otilde;es de configura&ccedil;&atilde;o para iniciar ou parar containers. Um novo container &eacute; criado sempre que um usu&aacute;rio executa uma imagem.<\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-por-que-usar-containers-docker\"><strong>Por Que Usar Containers Docker?<\/strong><\/h2><p class=\"wp-block-paragraph\">Os containers Docker representam um divisor de &aacute;guas para os desenvolvedores de hoje. Com o isolamento de containers, seus aplicativos podem rodar no mesmo sistema operacional enquanto permanecem separados de outros sistemas operacionais e containers. Este recurso garante um desempenho consistente em ambientes de desenvolvimento e prepara&ccedil;&atilde;o.<\/p><p class=\"wp-block-paragraph\">Para empresas, os containers Docker aumentam a velocidade de implanta&ccedil;&atilde;o e maximizam a utiliza&ccedil;&atilde;o de recursos do sistema. Em termos de recursos, a implanta&ccedil;&atilde;o de containers Docker requer significativamente menos mem&oacute;ria do que uma m&aacute;quina virtual. Al&eacute;m disso, sua natureza port&aacute;til torna poss&iacute;vel a migra&ccedil;&atilde;o e a escalabilidade de conte&uacute;dos e aplica&ccedil;&otilde;es legadas.<\/p><p class=\"wp-block-paragraph\">Para resumir, os containers Docker otimizam o processo de desenvolvimento, economizando tempo valioso e contribuindo para o sucesso de seus projetos de desenvolvimento.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-criar-um-container-docker\"><strong>Como Criar um Container Docker<\/strong><\/h2><p class=\"wp-block-paragraph\">Neste tutorial, usaremos um&nbsp;<a href=\"\/br\/tutoriais\/o-que-e-vps-como-escolher-um-servidor-vps\/\"><strong>servidor privado virtual<\/strong><\/a>&nbsp;(VPS) rodando o sistema operacional&nbsp;<strong>Ubuntu 22.04<\/strong>. Primeiro, certifique-se de que o Docker est&aacute; instalado no seu servidor. Se n&atilde;o estiver, siga nosso guia para&nbsp;<a href=\"\/br\/tutoriais\/install-docker-ubuntu\/\"><strong>instalar o Docker no Ubuntu<\/strong><\/a>.<\/p><p class=\"wp-block-paragraph\">Para os clientes VPS da Hostinger, voc&ecirc; pode aproveitar nosso template&nbsp;<strong>Ubuntu 22.04 64-bit com Docker<\/strong>&nbsp;para instala&ccedil;&atilde;o autom&aacute;tica do Docker. Para usar este modelo, fa&ccedil;a login no seu painel&nbsp;<strong>VPS&nbsp;<\/strong>, depois navegue at&eacute;&nbsp;<strong>SO e Painel &rarr; Sistema Operacional<\/strong>.<\/p><p class=\"wp-block-paragraph\">No menu suspenso&nbsp;<strong>Aplicativos<\/strong>, escolha&nbsp;<strong>Ubuntu 22.04 64bit com Docker<\/strong>&nbsp;e clique em&nbsp;<strong>Mudar SO<\/strong>. Aguarde o processo de instala&ccedil;&atilde;o ser conclu&iacute;do.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"560\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/01\/hpanel-vps-operatingsystem-joomla-selected-pt.png\/w=1024,h=1024,fit=scale-down\" alt=\"A p&aacute;gina do sistema operacional VPS no hPanel. O CMS Joomla est&aacute; selecionado\" class=\"wp-image-38160\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/01\/hpanel-vps-operatingsystem-joomla-selected-pt.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/01\/hpanel-vps-operatingsystem-joomla-selected-pt.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/01\/hpanel-vps-operatingsystem-joomla-selected-pt.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/01\/hpanel-vps-operatingsystem-joomla-selected-pt.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Para saber mais sobre este template e como ele se destaca, leia nossa p&aacute;gina dedicada &agrave; nossa <a href=\"\/br\/vps\/hospedagem-docker\">Hospedagem de cont&ecirc;iner Docker<\/a>.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/br\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-32923\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Sugest&atilde;o de Leitura                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Se voc&ecirc; preferir usar a distribui&ccedil;&atilde;o CentOS, leia nosso guia de&nbsp;<a href=\"\/br\/tutoriais\/como-instalar-docker-compose-centos-7\/\"><strong>instala&ccedil;&atilde;o do Docker no CentOS<\/strong><\/a>. No entanto, os comandos para criar um container Docker podem ser diferentes.<\/p>\n                    <\/div>\n        \n\n\n\n<\/p><p class=\"wp-block-paragraph\">Uma vez conclu&iacute;da a instala&ccedil;&atilde;o, siga estas etapas de containeriza&ccedil;&atilde;o do Docker para executar seu aplicativo dentro de um ambiente isolado.<\/p><h3 class=\"wp-block-heading\" id=\"h-1-construa-uma-imagem-docker\"><strong>1. Construa uma Imagem Docker<\/strong><\/h3><p class=\"wp-block-paragraph\">Uma imagem Docker &eacute; um projeto para o seu container. Ela cont&eacute;m todo o conte&uacute;do, como c&oacute;digo, bibliotecas e depend&ecirc;ncias, de que seu aplicativo precisa para funcionar.<\/p><p class=\"wp-block-paragraph\">Ao executar uma imagem Docker, que pode ser de propriedade privada ou compartilhada em plataformas como&nbsp;<a href=\"https:\/\/hub.docker.com\/\" target=\"_blank\" rel=\"noopener\"><strong>Docker Hub<\/strong><\/a>, ela se transforma em um container Docker.<\/p><p class=\"wp-block-paragraph\">Embora seja poss&iacute;vel criar uma nova imagem Docker, &eacute; mais pr&aacute;tico usar uma imagem base e desenvolver a partir dela, pois o Docker Hub oferece in&uacute;meras imagens base que est&atilde;o prontamente dispon&iacute;veis.<\/p><p class=\"wp-block-paragraph\">Primeiro, fa&ccedil;a login no seu VPS usando um&nbsp;<a href=\"\/br\/tutoriais\/como-se-conectar-servidor-vps-usando-terminal-ssh\/\"><strong>cliente SSH como o PuTTY<\/strong><\/a>. Ent&atilde;o, use este&nbsp;<a href=\"\/br\/tutoriais\/comandos-linux\/\"><strong>comando Linux<\/strong><\/a>&nbsp;para listar todas as imagens Docker em seu sistema:<\/p><pre class=\"wp-block-preformatted\">sudo docker images<\/pre><p class=\"wp-block-paragraph\">Para obter mais informa&ccedil;&otilde;es sobre as imagens Docker existentes, use o seguinte comando:<\/p><pre class=\"wp-block-preformatted\">sudo docker images --help<\/pre><p class=\"wp-block-paragraph\">Use a op&ccedil;&atilde;o&nbsp;<strong>-q<\/strong>&nbsp;atrav&eacute;s do prompt de comando para listar os IDs num&eacute;ricos das imagens dispon&iacute;veis em seu sistema:<\/p><pre class=\"wp-block-preformatted\">sudo docker images -q<\/pre><p class=\"wp-block-paragraph\">Para listar todas as imagens n&atilde;o pendentes que n&atilde;o est&atilde;o marcadas ou referenciadas por um novo container, use este comando:<\/p><pre class=\"wp-block-preformatted\">sudo docker images -f dangling=false<\/pre><p class=\"wp-block-paragraph\">Para este tutorial, vamos puxar uma imagem baseada em&nbsp;<strong>MySQL<\/strong>. Observe que voc&ecirc; pode visitar a p&aacute;gina de cada imagem para obter informa&ccedil;&otilde;es adicionais.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1022\" height=\"213\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/obtendo-imagem-docker-mysql.png\/public\" alt=\"obtendo imagem docker com mysql no docker hub\" class=\"wp-image-42205\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/obtendo-imagem-docker-mysql.png\/w=1022,fit=scale-down 1022w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/obtendo-imagem-docker-mysql.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/obtendo-imagem-docker-mysql.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/obtendo-imagem-docker-mysql.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1022px) 100vw, 1022px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Importe a nova imagem para o diret&oacute;rio atual executando o seguinte comando. Lembre-se de substituir&nbsp;<strong>&lt;nome da imagem ou ID da imagem&gt;<\/strong>&nbsp;pelo nome ou ID da imagem escolhida:<\/p><pre class=\"wp-block-preformatted\">docker pull &lt;nome da imagem ou id da imagem&gt;<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"995\" height=\"353\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-pull.png\/public\" alt=\"resultado do comando docker pull no terminal\" class=\"wp-image-42206\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-pull.png\/w=995,fit=scale-down 995w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-pull.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-pull.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-pull.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 995px) 100vw, 995px\" \/><\/figure><p class=\"wp-block-paragraph\">Outra alternativa para criar uma imagem Docker &eacute; usar o&nbsp;<a href=\"https:\/\/easypanel.io\/\" target=\"_blank\" rel=\"noopener\"><strong>Easypanel<\/strong><\/a>. Esta ferramenta fornece uma interface gr&aacute;fica do usu&aacute;rio para simplificar o gerenciamento de imagens Docker, especialmente para aqueles n&atilde;o familiarizados com opera&ccedil;&otilde;es de linha de comando.<\/p><p class=\"wp-block-paragraph\">O EasyPanel facilita a cria&ccedil;&atilde;o de imagens Docker para aplica&ccedil;&otilde;es escritas em v&aacute;rias linguagens de programa&ccedil;&atilde;o, como Node.js, Ruby, Python, PHP, Go e Java. Ele automatiza muitos dos processos envolvidos na configura&ccedil;&atilde;o de ambientes e depend&ecirc;ncias.<\/p><p class=\"wp-block-paragraph\">Os&nbsp;planos de <a href=\"\/br\/servidor-vps\"><strong>host para VPS<\/strong><\/a>&nbsp;da Hostinger oferecem um template&nbsp;<strong>Ubuntu 22.04 64bit com EasyPanel<\/strong>, que pode ser instalado atrav&eacute;s do mesmo menu&nbsp;<strong>Sistema Operacional<\/strong>&nbsp;no painel do seu Servidor VPS.<\/p><p class=\"wp-block-paragraph\">Voc&ecirc; pode escolher se usar&aacute; um template baseado em Docker ou recorrer&aacute; ao EasyPanel. Selecione aquele que se encaixa na sua especialidade e requisitos do projeto, seja o Docker para mais controle ou o EasyPanel para facilidade de uso.<\/p><h3 class=\"wp-block-heading\" id=\"h-2-escreva-um-dockerfile\"><strong>2. Escreva um Dockerfile<\/strong><\/h3><p class=\"wp-block-paragraph\">Um Dockerfile &eacute; um arquivo de texto que informa ao Docker como construir sua imagem. Ele lista todos os&nbsp;comandos Docker&nbsp;necess&aacute;rios para montar uma imagem de container. Usar um Dockerfile garante que suas imagens sejam constru&iacute;das da mesma maneira todas as vezes, tornando seu trabalho mais consistente e f&aacute;cil de gerenciar.<\/p><p class=\"wp-block-paragraph\">Aqui est&aacute; um exemplo de um modelo simples de Dockerfile:<\/p><pre class=\"wp-block-preformatted\">FROM ubuntu:latest<br>WORKDIR \/app<br>COPY . .<br>RUN apt-get update &amp;&amp; apt-get install -y curl<br>CMD [\"curl\", \"https:\/\/www.exemplo.com\"]<\/pre><p class=\"wp-block-paragraph\">Em um Dockerfile, cada comando cria uma nova camada na imagem Docker. Veja como funciona, conforme mostrado em nosso exemplo:<\/p><ul class=\"wp-block-list\">\n<li><strong>FROM ubuntu:latest<\/strong>&nbsp;&#8210; este comando puxa a imagem Ubuntu mais recente e a define como a camada base. As seguintes camadas ser&atilde;o constru&iacute;das em cima disso.<\/li>\n\n\n\n<li><strong>WORKDIR \/app<\/strong>&nbsp;&#8210; define o diret&oacute;rio de trabalho do container, criando uma nova camada que serve como contexto para os comandos subsequentes.<\/li>\n\n\n\n<li><strong>COPY . .<\/strong>&nbsp;&#8210; copia arquivos locais para a mesma pasta do container, criando uma camada adicional contendo os arquivos do seu projeto.<\/li>\n\n\n\n<li><strong>RUN apt-get update &amp;&amp; apt-get install -y curl<\/strong>&nbsp;&#8210; o comando Docker&nbsp;<strong>run <\/strong>instala o&nbsp;<a href=\"\/br\/tutoriais\/comando-curl-linux\/\"><strong>cURL<\/strong><\/a>&nbsp;no container, adicionando uma nova camada para a lista de pacotes atualizada e o pacote cURL instalado.<\/li>\n\n\n\n<li><strong>CMD [&ldquo;curl&rdquo;, &ldquo;https:\/\/www.exemplo.com&rdquo;]<\/strong>&nbsp;&#8210; define o comando padr&atilde;o para executar o aplicativo quando o container iniciar.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Quaisquer altera&ccedil;&otilde;es que voc&ecirc; fa&ccedil;a enquanto o container est&aacute; em execu&ccedil;&atilde;o, como adicionar ou modificar arquivos, s&atilde;o escritas nas respectivas camadas grav&aacute;veis. Dessa forma, voc&ecirc; pode fazer ajustes tempor&aacute;rios sem afetar a imagem base.<\/p><p>\n\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Dica                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Um Dockerfile &eacute; opcional ao usar imagens pr&eacute;-constru&iacute;das do Docker Hub. No entanto, ele &eacute; necess&aacute;rio para personalizar ou ampliar essas imagens.<\/p>\n                    <\/div>\n        \n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-3-construa-o-container-docker\"><strong>3. Construa o Container Docker<\/strong><\/h3><p class=\"wp-block-paragraph\">Se voc&ecirc; estiver preparando um novo Dockerfile, navegue at&eacute; o mesmo diret&oacute;rio que o referido arquivo e execute o comando Docker&nbsp;<strong>build&nbsp;<\/strong>&nbsp;para iniciar um novo processo de constru&ccedil;&atilde;o de imagem. Lembre-se de substituir a op&ccedil;&atilde;o&nbsp;<strong>&lt;nome da imagem ou id da imagem&gt;&nbsp;<\/strong>com o nome da sua tag.<\/p><pre class=\"wp-block-preformatted\">docker build -t &lt;nome da imagem ou id da imagem&gt; .<\/pre><p class=\"wp-block-paragraph\">Inicia um novo container a partir da imagem que voc&ecirc; acabou de construir usando o comando Docker&nbsp;<strong>run&nbsp;<\/strong>ubuntu:<\/p><pre class=\"wp-block-preformatted\">docker run &lt;nome da imagem ou id da imagem&gt;<\/pre><p class=\"wp-block-paragraph\">Caso contr&aacute;rio, execute uma imagem pr&eacute;-constru&iacute;da importada do Docker Hub. Vamos usar a imagem MySQL que puxamos anteriormente:<\/p><pre class=\"wp-block-preformatted\">docker run mysql<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1022\" height=\"169\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-run-mysql.png\/public\" alt=\"resultado do comando docker run mysql no terminal\" class=\"wp-image-42207\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-run-mysql.png\/w=1022,fit=scale-down 1022w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-run-mysql.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-run-mysql.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-run-mysql.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1022px) 100vw, 1022px\" \/><\/figure><p class=\"wp-block-paragraph\">O empilhamento eficiente de imagens &eacute; crucial para otimizar o tempo de constru&ccedil;&atilde;o e o uso de recursos. Cada comando em um Dockerfile cria uma nova camada, que o Docker armazena em cache. Quando voc&ecirc; reconstr&oacute;i uma imagem, o Docker reutiliza camadas inalteradas, acelerando o processo de constru&ccedil;&atilde;o.<\/p><p class=\"wp-block-paragraph\">Al&eacute;m disso, o empilhamento eficiente pode reduzir o tamanho da imagem, tornando-a mais r&aacute;pida para puxar, empurrar ou implantar. Essa pr&aacute;tica &eacute; particularmente vital para empresas que precisam de implanta&ccedil;&otilde;es r&aacute;pidas para permanecerem competitivas.<\/p><h3 class=\"wp-block-heading\" id=\"h-4-execute-e-gerencie-containers\"><strong>4. Execute e Gerencie containers<\/strong><\/h3><p class=\"wp-block-paragraph\">Uma vez que criamos a imagem do container, inicie-a usando o comando Docker&nbsp;<strong>run&nbsp;<\/strong>. Substitua&nbsp;<strong>&lt;nome do container&gt;<\/strong>pelo nome de sua escolha. Aqui,&nbsp;<strong>mysql bash<\/strong>&nbsp;representa qual container iremos executar.<\/p><pre class=\"wp-block-preformatted\">docker run --name &lt;nome do container&gt; -it mysql bash<\/pre><p class=\"wp-block-paragraph\">Use o comando Docker&nbsp;<strong>ps&nbsp;<\/strong>com a op&ccedil;&atilde;o&nbsp;<strong>-a<\/strong>&nbsp;para listar os containers em execu&ccedil;&atilde;o no seu sistema. Adicione&nbsp;<strong>sudo<\/strong>&nbsp;no in&iacute;cio do comando para execut&aacute;-lo com permiss&otilde;es de root.<\/p><pre class=\"wp-block-preformatted\">docker ps -a<\/pre><p class=\"wp-block-paragraph\">Use o seguinte comando Docker para ver o processo principal de um container:<\/p><pre class=\"wp-block-preformatted\">docker top MyContainer<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"920\" height=\"179\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-top-mycontainer.png\/public\" alt=\"resultado do comando docker top container no terminal\" class=\"wp-image-42208\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-top-mycontainer.png\/w=920,fit=scale-down 920w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-top-mycontainer.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-top-mycontainer.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-top-mycontainer.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 920px) 100vw, 920px\" \/><\/figure><p class=\"wp-block-paragraph\">Para mapear portas entre o host e o container, use a op&ccedil;&atilde;o&nbsp;<strong>-p<\/strong>&nbsp;juntamente com o comando docker&nbsp;<strong>run&nbsp;<\/strong>:<\/p><pre class=\"wp-block-preformatted\">docker run -p porta_do_host:porta_do_container &lt;nome da imagem&gt;<\/pre><p class=\"wp-block-paragraph\">Mapear portas exp&otilde;e o aplicativo do seu container para o exterior, permitindo o acesso da sua m&aacute;quina host. Esse processo &eacute; vital para servidores web, bancos de dados ou qualquer aplica&ccedil;&atilde;o que se conecte com sistemas externos.<\/p><p class=\"wp-block-paragraph\">Para anexar um volume para armazenamento persistente, use a op&ccedil;&atilde;o&nbsp;<strong>-v<\/strong>:<\/p><pre class=\"wp-block-preformatted\">docker run -v diret&oacute;rio_do_host:diret&oacute;rio_do_container &lt;nome da imagem&gt;<\/pre><p class=\"wp-block-paragraph\">Anexar&nbsp;<a href=\"https:\/\/docs.docker.com\/storage\/volumes\/\" target=\"_blank\" rel=\"noopener\"><strong>volumes<\/strong><\/a>&nbsp;torna a configura&ccedil;&atilde;o do seu container mais robusta, f&aacute;cil de gerenciar e com melhor desempenho. Seus dados permanecem intactos mesmo se a configura&ccedil;&atilde;o do container Docker for interrompida, exclu&iacute;da ou atualizada. Al&eacute;m disso, os volumes podem ser compartilhados entre v&aacute;rios containers, simplificando a gest&atilde;o de dados em configura&ccedil;&otilde;es com v&aacute;rios containers. Voc&ecirc; pode usar o comando&nbsp;<strong>docker container ls<\/strong>&nbsp;para listar todos os containers dispon&iacute;veis.<\/p><p>\n\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Dica                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Use comandos Docker CLI ou a API Docker para gerenciar volumes.<\/p>\n                    <\/div>\n        \n\n\n\n<\/p><p class=\"wp-block-paragraph\">Voc&ecirc; pode limitar recursos como CPU e mem&oacute;ria usando as op&ccedil;&otilde;es&nbsp;<strong>&ndash;cpus<\/strong>&nbsp;e&nbsp;<strong>&ndash;memory<\/strong>. O seguinte exemplo limita o container a at&eacute; 0,5 CPUs e 500 MB de RAM.<\/p><pre class=\"wp-block-preformatted\">docker run --cpus=0.5 --memory=500m &lt;nome da imagem&gt;<\/pre><p class=\"wp-block-paragraph\">Execyte o seguinte comando para parar o container em execu&ccedil;&atilde;o:<\/p><pre class=\"wp-block-preformatted\">docker stop MeuContainer<\/pre><p class=\"wp-block-paragraph\">O seguinte comando mostra as informa&ccedil;&otilde;es adicionais do container, incluindo ID do container, utiliza&ccedil;&atilde;o de CPU e uso de mem&oacute;ria:<\/p><pre class=\"wp-block-preformatted\">docker stats<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1007\" height=\"65\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-stats.png\/public\" alt=\"resultado do comando docker stats no terminal\" class=\"wp-image-42209\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-stats.png\/w=1007,fit=scale-down 1007w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-stats.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-stats.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/docker-stats.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1007px) 100vw, 1007px\" \/><\/figure><p class=\"wp-block-paragraph\">Para encerrar o container Docker, insira o seguinte comando na linha de comando:<\/p><pre class=\"wp-block-preformatted\">docker kill MeuContainer<\/pre><h2 class=\"wp-block-heading\" id=\"h-melhores-praticas-para-container-docker\"><strong>Melhores Pr&aacute;ticas para Container Docker<\/strong><\/h2><p class=\"wp-block-paragraph\">Aqui est&atilde;o algumas melhores pr&aacute;ticas para garantir um processo eficiente de containeriza&ccedil;&atilde;o Docker.<\/p><p class=\"wp-block-paragraph\"><strong>Use o Kodee, Assistente com IA da Hostinger<\/strong><\/p><p class=\"wp-block-paragraph\">Efici&ecirc;ncia &eacute; um elemento vital ao criar containers Docker. Felizmente, os clientes da Hostinger podem utilizar o&nbsp;<strong><a href=\"https:\/\/www.youtube.com\/watch?v=0SQ8N8XDbTU\" target=\"_blank\" rel=\"noopener\">Kodee,<\/a><\/strong> nosso assistente de VPS com IA, para otimizar o processo. Ao fornecer guias de instala&ccedil;&atilde;o ou recomendar comandos apropriados, o Kodee simplifica suas tarefas de gerenciamento de VPS.<\/p><p class=\"wp-block-paragraph\">Este recurso est&aacute; acess&iacute;vel no painel esquerdo do seu painel de controle&nbsp;<strong>VPS&nbsp;<\/strong>. Voc&ecirc; pode fazer perguntas sobre o processo de containeriza&ccedil;&atilde;o do Docker, como &ldquo;como atualizar dinamicamente o container quando a imagem base muda&rdquo;.<\/p><p class=\"wp-block-paragraph\">O Kodee responder&aacute; com uma resposta abrangente, incluindo quaisquer comandos ou scripts relevantes.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"711\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/ia-assistente-docker-container.png\/w=1024,h=1024,fit=scale-down\" alt=\"assistente ia para vps no hpanel da hostinger falando sobre container docker\" class=\"wp-image-42210\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/ia-assistente-docker-container.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/ia-assistente-docker-container.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/ia-assistente-docker-container.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2019\/05\/ia-assistente-docker-container.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong>Mantenha os Containers Leves<\/strong><\/p><p class=\"wp-block-paragraph\">Containers menores s&atilde;o mais r&aacute;pidos, mais eficientes e mais seguros. Eles s&atilde;o implantados rapidamente, usam menos recursos e maximizam a utiliza&ccedil;&atilde;o do hardware. Com menos componentes, eles reduzem os riscos de ataques, melhorando a seguran&ccedil;a geral.<\/p><p class=\"wp-block-paragraph\">Siga estas dicas para criar containers leves:<\/p><ul class=\"wp-block-list\">\n<li><strong>Opte por imagens base leves<\/strong>&nbsp;&#8210; se voc&ecirc; tiver v&aacute;rias imagens semelhantes, construa uma imagem base com componentes compartilhados e crie imagens Docker personalizadas a partir dela.<\/li>\n\n\n\n<li><strong>Use constru&ccedil;&otilde;es em v&aacute;rias etapas<\/strong>&nbsp;&#8210; inclua apenas componentes essenciais como artefatos e ambiente na imagem final.<\/li>\n\n\n\n<li><strong>Remova arquivos desnecess&aacute;rios<\/strong>&nbsp;&#8210; ap&oacute;s instalar pacotes, otimize o desempenho do seu aplicativo Docker&nbsp;<a href=\"\/br\/tutoriais\/remover-imagem-docker\/\"><strong>removendo imagens Docker n&atilde;o utilizadas<\/strong><\/a>, cache e arquivos tempor&aacute;rios.<\/li>\n\n\n\n<li><strong>Seja espec&iacute;fico nos comandos<\/strong>&nbsp;&#8210; consolide os comandos em uma &uacute;nica linha de&nbsp;<strong>execu&ccedil;&atilde;o<\/strong>&nbsp;para reduzir as camadas da imagem. Al&eacute;m disso, evite instalar pacotes recomendados ou sugeridos que n&atilde;o s&atilde;o essenciais.<\/li>\n<\/ul><p class=\"wp-block-paragraph\"><strong>Use Imagens Oficiais<\/strong><\/p><p class=\"wp-block-paragraph\">Usar imagens oficiais do Docker Hub para a constru&ccedil;&atilde;o de imagens Docker garante uma base segura, otimizada e confi&aacute;vel para seus containers. Eles geralmente s&atilde;o adaptados para casos de uso espec&iacute;ficos, fornecendo um ponto de partida eficiente para o desenvolvimento de aplica&ccedil;&otilde;es robustas e eficientes.<\/p><p class=\"wp-block-paragraph\">Em termos de seguran&ccedil;a, as imagens oficiais passam por verifica&ccedil;&otilde;es de seguran&ccedil;a rigorosas e s&atilde;o prontamente corrigidas para vulnerabilidades. Como s&atilde;o amplamente utilizadas, as imagens oficiais s&atilde;o bem testadas e compat&iacute;veis com v&aacute;rias configura&ccedil;&otilde;es e plataformas.<\/p><p class=\"wp-block-paragraph\"><strong>Limitar Permiss&otilde;es do Container<\/strong><\/p><p class=\"wp-block-paragraph\">Executar containers com privil&eacute;gios extras representa um risco de seguran&ccedil;a. Um hacker pode obter controle total do seu sistema se um container for violado enquanto estiver sendo executado como root.<\/p><p class=\"wp-block-paragraph\">Para manter a seguran&ccedil;a do sistema, conceda apenas as permiss&otilde;es necess&aacute;rias ao seu container. Crie e use um usu&aacute;rio n&atilde;o-root para executar sua aplica&ccedil;&atilde;o dentro do container. Voc&ecirc; tamb&eacute;m pode configurar seu container para o&nbsp;<strong>modo somente leitura<\/strong>&nbsp;para evitar altera&ccedil;&otilde;es indesejadas.<\/p><p class=\"wp-block-paragraph\"><strong>Proteja Informa&ccedil;&otilde;es Sens&iacute;veis<\/strong><\/p><p class=\"wp-block-paragraph\">Quando o container Docker inicia, voc&ecirc; pode configurar&nbsp;<a href=\"https:\/\/docs.docker.com\/compose\/environment-variables\/\" target=\"_blank\" rel=\"noopener\"><strong>vari&aacute;veis de ambiente<\/strong><\/a>&nbsp;dependendo do aplicativo ou servi&ccedil;o que est&aacute; sendo executado dentro dele. Algumas das vari&aacute;veis mais comuns incluem credenciais de banco de dados, configura&ccedil;&otilde;es de aplicativos e valores secretos para autentica&ccedil;&atilde;o.<\/p><p class=\"wp-block-paragraph\">As vari&aacute;veis de ambiente mant&ecirc;m os dados sens&iacute;veis separados do seu c&oacute;digo e imagem, escondendo-os daqueles que t&ecirc;m acesso a ambos. Usar vari&aacute;veis de ambiente tamb&eacute;m torna sua configura&ccedil;&atilde;o mais flex&iacute;vel, pois voc&ecirc; pode facilmente alterar os dados sem modificar o Dockerfile ou reconstruir a imagem.<\/p><p class=\"wp-block-paragraph\"><strong>Aproveite a Orquestra&ccedil;&atilde;o de containers<\/strong><\/p><p class=\"wp-block-paragraph\">Ferramentas de&nbsp;orquestra&ccedil;&atilde;o de containers, como&nbsp;<strong>Docker Compose<\/strong>&nbsp;e&nbsp;<strong>Kubernetes<\/strong>, simplificam o gerenciamento de aplicativos multi-containers. Eles simplificam a implanta&ccedil;&atilde;o permitindo que voc&ecirc; lance v&aacute;rios containers com um &uacute;nico comando.<\/p><p class=\"wp-block-paragraph\">Por exemplo, voc&ecirc; pode&nbsp;<a href=\"\/br\/tutoriais\/como-instalar-wordpress-no-docker-windows-macos-e-linux\/\"><strong>usar o Docker Compose para instalar o WordPress<\/strong><\/a>&nbsp;com todos os componentes necess&aacute;rios, como um servidor web e um banco de dados.<\/p><p class=\"wp-block-paragraph\">Ferramentas de orquestra&ccedil;&atilde;o tamb&eacute;m lidam com a escala, ajustando automaticamente os servi&ccedil;os &agrave; medida que o tr&aacute;fego aumenta. Eles distribuem o tr&aacute;fego de rede de entrada em v&aacute;rios containers, melhorando o desempenho e a confiabilidade.<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusao\"><strong>Conclus&atilde;o<\/strong><\/h2><p class=\"wp-block-paragraph\">O Docker &eacute; uma ferramenta inestim&aacute;vel para os desenvolvedores e empresas de hoje, oferecendo um ambiente consistente, implanta&ccedil;&otilde;es simplificadas e otimiza&ccedil;&atilde;o do uso de recursos. Saber como construir um container Docker ajuda a tornar seu ciclo de desenvolvimento mais eficiente e seguro.<\/p><p class=\"wp-block-paragraph\">Cobrimos as etapas para criar um container Docker a partir de uma imagem e comandos comuns para completar o processo. Voc&ecirc; tamb&eacute;m aprendeu as melhores pr&aacute;ticas para um eficiente gerenciamento de containers Docker no servidor privado virtual Ubuntu 22.04.<\/p><p class=\"wp-block-paragraph\">Se voc&ecirc; tiver alguma d&uacute;vida sobre a cria&ccedil;&atilde;o de containers Docker, deixe um coment&aacute;rio abaixo.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-criar-um-container-docker-perguntas-frequentes\"><strong>Como Criar um Container Docker: Perguntas Frequentes<\/strong><\/h2><p class=\"wp-block-paragraph\">Esta se&ccedil;&atilde;o aborda perguntas frequentes sobre a cria&ccedil;&atilde;o de containers Docker.<\/p><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-69441519d2260\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Qual a Diferen&ccedil;a Entre Imagem Docker e Container Docker?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Uma imagem Docker &eacute; um modelo para criar um container, contendo o c&oacute;digo do aplicativo, bibliotecas e depend&ecirc;ncias. Por outro lado, um container Docker &eacute; uma vers&atilde;o em execu&ccedil;&atilde;o de uma imagem. Quando voc&ecirc; inicia um container a partir de uma imagem, o sistema cria um ambiente ao vivo onde o aplicativo pode ser executado e interagir.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69441519d2264\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Uma Imagem Docker Pode ter M&uacute;ltiplos Containers?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Sim, voc&ecirc; pode usar uma &uacute;nica imagem Docker para criar v&aacute;rios containers. Cada container &eacute; executado de forma independente e possui seu pr&oacute;prio conjunto de recursos e configura&ccedil;&otilde;es. Essa pr&aacute;tica permite que voc&ecirc; escale ou execute aplicativos em v&aacute;rios ambientes sem criar uma imagem Docker cada vez, economizando tempo e recursos.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69441519d2265\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>As Imagens Docker Podem ser Editadas?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>As imagens do Docker s&atilde;o feitas de camadas somente leitura, ent&atilde;o voc&ecirc; n&atilde;o pode edit&aacute;-las diretamente. Para fazer altera&ccedil;&otilde;es, atualize o Dockerfile ou os arquivos de origem e construa uma nova imagem com o comando Docker build. Como os containers existentes n&atilde;o ser&atilde;o atualizados automaticamente, voc&ecirc; deve par&aacute;-los e criar novos a partir da imagem criada.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Se voc&ecirc; est&aacute; trabalhando em um aplicativo ou um servi&ccedil;o que funciona em v&aacute;rios sistemas operacionais, o&nbsp;Docker&nbsp;pode simplificar seu processo de implanta&ccedil;&atilde;o. Com a cria&ccedil;&atilde;o de containers Docker, voc&ecirc; pode lan&ccedil;ar sem esfor&ccedil;o v&aacute;rias aplica&ccedil;&otilde;es ou servi&ccedil;os em sistemas como hospedagem de servidor privado virtual ou m&aacute;quinas dedicadas. O Docker tamb&eacute;m &eacute; leve, mais f&aacute;cil [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/br\/tutoriais\/container-docker\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":125,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Tutorial: como iniciar container Docker em %currentyear%","rank_math_description":"O uso de um Container Docker \u00e9 \u00fatil para que um c\u00f3digo rode igualmente tanto no desenvolvimento quanto na produ\u00e7\u00e3o. Veja como inici\u00e1-lo!","rank_math_focus_keyword":"container docker","footnotes":""},"categories":[4915],"tags":[6548,6549],"class_list":["post-15705","post","type-post","status-publish","format-standard","hentry","category-vps","tag-container-docker","tag-docker-container"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-create-docker-container\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/container-docker\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/comment-creer-un-conteneur-docker\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-crear-contenedor-docker\/","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/docker-container\/","default":0},{"locale":"de-DE","link":"https:\/\/www.hostinger.com\/de\/tutorials\/docker-container-erstellen\/","default":0},{"locale":"ja-JP","link":"https:\/\/www.hostinger.com\/jp\/tutorials\/docker-start-a-container\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-create-docker-container\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-create-docker-container\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-create-docker-container\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-create-docker-container\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-create-docker-container\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-create-docker-container\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-create-docker-container\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-crear-contenedor-docker\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-crear-contenedor-docker\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-crear-contenedor-docker\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/container-docker\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts\/15705","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/users\/125"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/comments?post=15705"}],"version-history":[{"count":19,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts\/15705\/revisions"}],"predecessor-version":[{"id":52698,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts\/15705\/revisions\/52698"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/media?parent=15705"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/categories?post=15705"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/tags?post=15705"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}