{"id":1690,"date":"2017-12-04T08:00:31","date_gmt":"2017-12-04T10:00:31","guid":{"rendered":"http:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker-o-que-e-e-quais-sao-as-vantagens-de-usar\/"},"modified":"2021-08-24T09:48:42","modified_gmt":"2021-08-24T12:48:42","slug":"container-docker","status":"publish","type":"post","link":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/","title":{"rendered":"Container docker: o que \u00e9 e quais s\u00e3o as vantagens de usar?"},"content":{"rendered":"<p>A tecnologia est\u00e1 em constante evolu\u00e7\u00e3o e a todo momento surgem novas ideias que aprimoram os m\u00e9todos utilizados em TI. O container docker \u00e9 uma delas e pode trazer v\u00e1rios benef\u00edcios para a sua organiza\u00e7\u00e3o.<\/p>\n<p>As empresas optam por essa modalidade porque os containers trazem diferentes possibilidades. Por serem ambientes isolados e port\u00e1veis, os desenvolvedores podem empacotar aplica\u00e7\u00f5es com bibliotecas e links necess\u00e1rios. O resultado \u00e9 mais efici\u00eancia no trabalho e a simplifica\u00e7\u00e3o da implanta\u00e7\u00e3o.<\/p>\n<p>Por\u00e9m, essa descri\u00e7\u00e3o ainda n\u00e3o diz todos os benef\u00edcios do uso dessa tecnologia. Por isso, criamos este post. Aqui, vamos explicar os principais detalhes sobre o docker, passando pelos seguintes aspectos:<\/p>\n<ul>\n<li>conceito;<\/li>\n<li>diferen\u00e7as do sistema virtualiza\u00e7\u00e3o dessa forma;<\/li>\n<li>por que se tornou uma tend\u00eancia do mercado;<\/li>\n<li>benef\u00edcios do uso.<\/li>\n<\/ul>\n<p>Ent\u00e3o, que tal entender melhor essa tecnologia? \u00c9 s\u00f3 continuar lendo!<\/p>\n<div class=\"rock-convert-banner\"><a href=\"https:\/\/interativos.meupositivo.com.br\/calculadora-parque-tecnologico?utm_medium=rock-convert\" target=\"_blank\" class=\"rock-convert-cta-link\" data-cta-id=\"6369\" data-cta-title=\"[Calculadora] Quanto custa atualizar o parque tecnol\u00f3gico da sua empresa?\"><img width=\"700\" height=\"175\" src=\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-content\/uploads\/2021\/08\/700x175.png\" class=\"attachment-full size-full\" alt=\"calculadora\" decoding=\"async\" title=\"[Calculadora] Quanto custa atualizar o parque tecnol\u00f3gico da sua empresa?\" loading=\"lazy\" srcset=\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-content\/uploads\/2021\/08\/700x175.png 700w, https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-content\/uploads\/2021\/08\/700x175-300x75.png 300w, https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-content\/uploads\/2021\/08\/700x175-610x153.png 610w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/div>\n<h2>O que \u00e9 um container docker?<\/h2>\n<p>Esse conceito precisa ser compreendido em partes. O container \u00e9 um ambiente isolado. J\u00e1 o docker \u00e9 uma plataforma open source na linguagem de programa\u00e7\u00e3o Go, que possui alto desempenho e \u00e9 desenvolvida diretamente no Google.<\/p>\n<p>Assim, o docker agrupa partes de softwares de um sistema de arquivo completo e que abrange todos os recursos necess\u00e1rios para a sua execu\u00e7\u00e3o. Por isso, \u00e9 uma plataforma de containers.<\/p>\n<p>Isso significa que tudo pode ser instalado no servidor e \u00e9 armazenado nos containers. Dessa forma, os mesmos softwares e as suas vers\u00f5es podem ter uma execu\u00e7\u00e3o facilitada em qualquer ambiente de desenvolvimento.<\/p>\n<p>O que ocorre na pr\u00e1tica \u00e9 que o docker destaca recursos e usa bibliotecas de kernel em comum. Os itens empacotados \u2014 ou at\u00e9 mesmo um ambiente inteiro \u2014 s\u00e3o dispostos no container e se tornam port\u00e1veis, o que torna o <a href=\"http:\/\/www.meupositivo.com.br\/panoramapositivo\/futuro-do-trabalho\/\">trabalho<\/a> conjunto mais eficiente. Ao mesmo tempo, a implanta\u00e7\u00e3o pode ser feita em ambientes n\u00e3o heterog\u00eaneos.<\/p>\n<p>Assim, o docker \u00e9 uma implementa\u00e7\u00e3o de virtualiza\u00e7\u00e3o de containers que vem conquistando cada vez mais espa\u00e7o devido \u00e0 computa\u00e7\u00e3o em nuvem. Anteriormente, o hypervisor dominava o ambiente, mas agora ele \u00e9 exclu\u00eddo do processo.<\/p>\n<p>Devido a todas as facilidades que oferece, o container \u00e9 uma das principais tend\u00eancias de TI. Ele simplifica a aplica\u00e7\u00e3o da metodologia DevOps e facilita o desenvolvimento \u00e1gil, tanto que o Google utiliza essa <a href=\"http:\/\/www.meupositivo.com.br\/panoramapositivo\/tecnologia-e-marketing\/\">tecnologia<\/a> h\u00e1 mais de 10 anos.<\/p>\n<p>J\u00e1 o docker, por ser open source, possibilita a execu\u00e7\u00e3o de deploys e o escalonamento de aplica\u00e7\u00f5es com mais facilidade. Al\u00e9m disso, devido \u00e0 virtualiza\u00e7\u00e3o por container, propicia um ambiente isolado e leve para rodar o programa.<\/p>\n<h2>Quais as diferen\u00e7as do sistema virtualizado com docker?<\/h2>\n<p>O container exclui a virtualiza\u00e7\u00e3o pelo hypervisor e muda o processo para o docker. Essa \u00e9 a principal modifica\u00e7\u00e3o. No entanto, h\u00e1 v\u00e1rios detalhes intrincados que precisam ser compreendidos.<\/p>\n<p>Para facilitar, vamos apresentar o modelo tradicional de virtualiza\u00e7\u00e3o e o novo, com o container:<\/p>\n<h3>Sistema virtualizado por VM<\/h3>\n<p>O modelo mais comum conta com uma m\u00e1quina virtual (VM, do ingl\u00eas virtual machine), que trabalha com um sistema operacional (SO) completo, por\u00e9m separado do equipamento. A execu\u00e7\u00e3o do software \u00e9 feita em cima de um servidor f\u00edsico com a finalidade de emular determinado sistema de hardware.<\/p>\n<p>Esse processo \u00e9 possibilitado pelo hypervisor, software que cria e efetiva a VM. Basicamente, ele se localiza entre o hardware e o SO, sendo um elemento fundamental para a virtualiza\u00e7\u00e3o do servidor. Um exemplo de hypervisor \u00e9 o VMWare, Hyper-V e o VirtualBox.<\/p>\n<p>Uma mesma m\u00e1quina pode contar com diferentes VMs. Cada uma opera um SO exclusivo e possui seu pr\u00f3prio kernel, bin\u00e1rios, aplicativos e bibliotecas, o que significa que ocupam um espa\u00e7o grande no servidor.<\/p>\n<div class=\"banner\"><a href=\"\/panoramapositivo\/2018\/01\/11\/manual-de-bolso-da-seguranca-digital\/?utm_source=panorama&utm_medium=banner&utm_campaign=conteudo&utm_term=home_single\" target=\"_blank\" title=\"[E-book] Manual de bolso da Seguran\u00e7a Digital\"><img src=\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-content\/uploads\/2019\/07\/700x250_04.png\"><\/a><\/div>\n<p>Quando foi criada, essa tecnologia trouxe diversos benef\u00edcios devido \u00e0 capacidade de consolida\u00e7\u00e3o de aplicativos em um sistema \u00fanico. Com isso, \u00e9 poss\u00edvel alcan\u00e7ar a redu\u00e7\u00e3o de custos pelo r\u00e1pido provisionamento e obter o aprimoramento da possibilidade de recupera\u00e7\u00e3o de desastres.<\/p>\n<p>Duas \u00e1reas muito fortalecidas e beneficiadas com essa medida foram a de QA e development, porque se tornou poss\u00edvel testar os programas e usar os servidores liberados para montar esses ambientes.<\/p>\n<p>Assim, apesar de haver v\u00e1rios benef\u00edcios com a virtualiza\u00e7\u00e3o por VM, ainda era necess\u00e1rio criar uma alternativa mais simples e leve.<\/p>\n<h3>Sistema virtualizado com docker<\/h3>\n<p>Esse \u00e9 um sistema desenvolvido na linguagem de programa\u00e7\u00e3o Go. Com ele, os desenvolvedores conseguem criar e administrar diferentes ambientes isolados, fazendo com que os dockers sejam um sistema de virtualiza\u00e7\u00e3o diferente do tradicional.<\/p>\n<p>Isso acontece porque esse novo sistema de virtualiza\u00e7\u00e3o usa o Linux Container (LXC) como backend. Ele n\u00e3o fornece uma VM, mas sim um ambiente virtual semelhante ao chroot, mas com um isolamento maior. Essa caracter\u00edstica permite definir limita\u00e7\u00f5es de recursos por container, por exemplo, CPU, mem\u00f3ria, I\/O, entre outros.<\/p>\n<p>Na pr\u00e1tica, o SO convidado e o hypervisor s\u00e3o eliminados e o host entra em contato direto com as bibliotecas. Com essa liga\u00e7\u00e3o, os itens ficam port\u00e1veis para qualquer outro host que tamb\u00e9m possua o sistema de virtualiza\u00e7\u00e3o instalado. A consequ\u00eancia \u00e9 a redu\u00e7\u00e3o do tempo de deploy de uma aplica\u00e7\u00e3o ou infraestrutura.<\/p>\n<p>Assim, \u00e9 desnecess\u00e1rio ajustar o ambiente para que o servi\u00e7o funcione corretamente. Ou seja, ele \u00e9 sempre igual e \u00e9 configurado uma vez. A partir disso, basta replic\u00e1-lo.<\/p>\n<p>Outras possibilidades interessantes s\u00e3o criar os containers prontos para deploy (ou seja, imagens) a partir de dockerfiles, que s\u00e3o arquivos de defini\u00e7\u00e3o.<\/p>\n<p>\u00c9 importante destacar que os containers se localizam em cima de um servidor f\u00edsico e do SO hospedeiro. Cada um deles compartilha o kernel do SO host e costuma partilhar tamb\u00e9m as bibliotecas e bin\u00e1rios.<\/p>\n<p>A diferen\u00e7a \u00e9 que os itens compartilhados servem somente para leitura, o que torna o container muito leve, especialmente se comparado \u00e0 VM. Para ter uma ideia, o tamanho do primeiro \u00e9 de Mb e, por isso, ele \u00e9 iniciado em poucos segundos. J\u00e1 a m\u00e1quina virtual cont\u00e9m v\u00e1rios Gb e demora minutos para ser executada.<\/p>\n<p>Perceba que esse novo modelo de virtualiza\u00e7\u00e3o prev\u00ea o fornecimento do b\u00e1sico para que uma aplica\u00e7\u00e3o seja executada em um SO hospedeiro.<\/p>\n<p>Assim, escolher entre uma VM e um docker depende do contexto do projeto que se pretende realizar. A principal diferen\u00e7a \u00e9 relativa ao consumo de recursos e espa\u00e7o, porque a modalidade de virtualiza\u00e7\u00e3o mais recente possui diferentes camadas, que s\u00e3o reunidas com o UnionFS.<\/p>\n<p>Essa caracter\u00edstica traz mais agilidade ao processo, porque o rebuild \u00e9 desnecess\u00e1rio para o update das imagens. De modo geral, os containers s\u00e3o mais interessantes devido a alguns fatores, como:<\/p>\n<ul>\n<li>velocidade;<\/li>\n<li>rapidez no boot;<\/li>\n<li>economia de recursos;<\/li>\n<li>entendimento dos processos do container como sendo realizados dentro do sistema host;<\/li>\n<li>possibilidade de fazer o upload de v\u00e1rios containers simultaneamente, o que consome menos recursos do hardware virtual ou f\u00edsico.<\/li>\n<\/ul>\n<p>Assim, o container docker leva a um n\u00edvel superior de virtualiza\u00e7\u00e3o, o que traz diferentes vantagens para a organiza\u00e7\u00e3o.<\/p>\n<h2>Como o docker funciona?<\/h2>\n<p>As m\u00e9dias e grandes empresas, principalmente, utilizam aplica\u00e7\u00f5es como ERPs e CRMs, ou seja, conjuntos de software que iniciam como projetos simples, mas que se tornam ineficientes com o tempo e impedem o progresso por contarem com um c\u00f3digo-fonte monol\u00edtico.<\/p>\n<p>O container surgiu para resolver esse problema. A solu\u00e7\u00e3o passa por diferentes etapas. A primeira delas \u00e9 a desagrega\u00e7\u00e3o do aplicativo em componentes menores, os chamados microsservi\u00e7os. A partir disso, os desenvolvedores conseguem adotar uma arquitetura que aumenta a efici\u00eancia operacional.<\/p>\n<p>Isso acontece porque o c\u00f3digo-fonte \u00e9 destinada para cada componente de aplica\u00e7\u00e3o. Assim, o software passa por v\u00e1rios est\u00e1gios, por exemplo, vai para um ambiente de testes, para um virtual e, por \u00faltimo, de produ\u00e7\u00e3o.<\/p>\n<p>Em cada um desses locais, a aplica\u00e7\u00e3o deve ter uma performance consistente, que \u00e9 garantida pelo container. Ele encapsula os componentes em um pacote \u00fanico e leve, que permite executar os aplicativos com consist\u00eancia independentemente do ambiente ser virtual ou f\u00edsico.<\/p>\n<p>J\u00e1 o docker faz a comunica\u00e7\u00e3o entre cliente e servidor por meio de um API. Para realizar esse workflow, \u00e9 necess\u00e1rio ter o servi\u00e7o instalado em um local e apontar o cliente para esse servidor.<\/p>\n<p>A plataforma em si usa alguns conjuntos de recursos para criar e administrar os containers, inclusive limitar os recursos. Dentre eles est\u00e1 a biblioteca libcontainer, que efetua a comunica\u00e7\u00e3o entre o Docker Daemon e o backend.<\/p>\n<p>Vale a pena destacar que o docker est\u00e1 embasado no conceito de layers. O container \u00e9 constru\u00eddo por meio de chroot, namespaces, cgroups e outras funcionalidades do kernel a fim de isolar a \u00e1rea para a sua aplica\u00e7\u00e3o.<\/p>\n<p>Desse modo, no docker, o kernel monta o rootfs na modalidade somente leitura. Logo em seguida, um arquivo do sistema \u00e9 criado como read-write sobre o rootf. Depois, o kernel sobrep\u00f5e a parti\u00e7\u00e3o ra\u00edz como read-only e pega um novo file system para coloc\u00e1-lo sobre o rootfs.<\/p>\n<p>Observe que o container est\u00e1 pronto para executar a imagem (layer somente leitura) ap\u00f3s o carregamento do rootfs. Ele tamb\u00e9m \u00e9 uma camada read-write criada a partir de uma imagem somente leitura.<\/p>\n<p>Por isso, ele \u00e9 uma ferramenta excelente para DevOps. No caso dos administradores de sistemas h\u00e1 o benef\u00edcio da flexibilidade, custos menores e menos \u00e1reas ocupadas. Para os desenvolvedores, \u00e9 mais liberdade para que esses profissionais foquem a atividade principal.<\/p>\n<h2>Por que ele vem se tornando uma tend\u00eancia no mercado?<\/h2>\n<p>O docker tem se popularizado devido a diferentes facilidades proporcionadas pela plataforma. Em compara\u00e7\u00e3o com a VM, a estrutura \u00e9 menor, porque o hypervisor \u00e9 substitu\u00eddo pelo docker engine e o SO hospedeiro \u00e9 exclu\u00eddo.<\/p>\n<p>Ambos os modelos permitem o isolamento de recursos e incluem as bibliotecas, aplica\u00e7\u00e3o e arquivos necess\u00e1rios. A diferen\u00e7a \u00e9 que a VM precisa do SO e, com isso, exige espa\u00e7o e possui custo de manuten\u00e7\u00e3o.<\/p>\n<p>Essa especifica\u00e7\u00e3o evidencia que o docker tem uma estrutura mais port\u00e1til e leve. \u00c9 mais f\u00e1cil mant\u00ea-la, porque os containers compartilham o mesmo SO da hospedagem. Apenas os processos s\u00e3o executados isoladamente e, portanto, o custo e a necessidade de espa\u00e7o s\u00e3o menores.<\/p>\n<p>A portabilidade \u00e9 outra vantagem do docker, o que traz ainda mais benef\u00edcios para os ambientes de development. Assim, uma aplica\u00e7\u00e3o \u00e9 mais facilmente executada no ambiente de homologa\u00e7\u00e3o e\/ou de produ\u00e7\u00e3o.<\/p>\n<p>Al\u00e9m disso, h\u00e1 uma garantia maior de que n\u00e3o haver\u00e1 erros ou imprevistos durante o deploy. Por fim, gasta-se menos tempo para configurar os ambientes e se perde menos tempo analisando e identificando as diferen\u00e7as existentes. O resultado \u00e9 a integra\u00e7\u00e3o das equipes de desenvolvimento e SysAdmin, que aumentam a produtividade.<\/p>\n<p>Para entender melhor a import\u00e2ncia, basta observar um exemplo pr\u00e1tico. Imagine que a sua empresa realiza um projeto em WordPress com o PHP vers\u00e3o 5.*, mas deseja atualizar a linguagem para a s\u00e9tima.<\/p>\n<p>Esse processo de update da vers\u00e3o se torna mais simples com o docker. Voc\u00ea pode realizar testes para definir a vers\u00e3o que permanecer\u00e1 sendo utilizada e assinalar os ajustes necess\u00e1rios.<\/p>\n<p>Devido a todas essas peculiaridades, centenas de empresas utilizam o docker em todo o mundo. Alguns exemplos s\u00e3o Uber, The Washington Post, PayPal, General Electric, eBay, Spotify etc. Um dos motivos para isso \u00e9 o fato de diversas solu\u00e7\u00f5es de hospedagem adotaram a tecnologia.<\/p>\n<p>Outra justificativa \u00e9 que, no come\u00e7o, ele pode representar uma demanda muito grande de recursos, mas a recompensa s\u00e3o as vantagens em agilidade, j\u00e1 que a velocidade de implanta\u00e7\u00e3o de containers vai de milissegundos a alguns segundos.<\/p>\n<h2>Quais s\u00e3o as vantagens de utilizar?<\/h2>\n<p>O container docker \u00e9 uma tecnologia que apresenta diferentes benef\u00edcios \u00e0s empresas. As principais s\u00e3o:<\/p>\n<h3>Economia significativa de recursos<\/h3>\n<p>Essa quest\u00e3o pode ser explicada pela contextualiza\u00e7\u00e3o da diferen\u00e7a existente entre imagens e containers. As primeiras s\u00e3o um ambiente read-only, enquanto os segundos s\u00e3o definidos como uma imagem em execu\u00e7\u00e3o, na qual \u00e9 gerada um layer extra que armazena os dados relativos \u00e0 determinada opera\u00e7\u00e3o.<\/p>\n<p>\u00c9 poss\u00edvel configurar a depend\u00eancia de uma imagem em rela\u00e7\u00e3o a outra. Nessa situa\u00e7\u00e3o \u00e9 criada uma pilha de imagens, sendo que cada uma delas \u00e9 somente leitura. Assim, pode-se montar um amontoado para diferentes containers, o que ocasiona uma economia de recursos sobre o disco, que \u00e9 compartilhado entre os ambientes.<\/p>\n<p>Ainda \u00e9 poss\u00edvel exemplificar essa situa\u00e7\u00e3o por um ambiente composto por uma imagem Apache, Debian e m\u00f3dulo PHP. Se forem necess\u00e1rios 20 containers da pilha de imagens, n\u00e3o \u00e9 necess\u00e1rio utilizar o recurso multiplicado por 20.<\/p>\n<p>Isso porque a utiliza\u00e7\u00e3o do espa\u00e7o em disco se refere somente aos logs e arquivos tempor\u00e1rios de cada container. Desse modo, os dados s\u00e3o armazenados no layer extraindividual.<\/p>\n<h3>Disponibilidade maior do sistema<\/h3>\n<p>Esse benef\u00edcio \u00e9 ocasionado pelo fato de o docker virtualizar o sistema de maneira diferente ao m\u00e9todo da VM. Por compartilhar o SO e outros componentes, h\u00e1 mais espa\u00e7o livre, o que deixa os processos mais \u00e1geis e oferece uma disponibilidade maior.<\/p>\n<p>Em termos bastante simples, a m\u00e1quina fica menos &#8220;pesada&#8221; e fica com mais espa\u00e7o para rodar outros programas e aplica\u00e7\u00f5es.<\/p>\n<h3>Possibilidade de compartilhamento<\/h3>\n<p>Os arquivos podem ser compartilhados entre o host e o container ou at\u00e9 mesmo um volume tem a possibilidade de ser distribu\u00eddo para outros. A pr\u00e1tica da segunda situa\u00e7\u00e3o \u00e9 mais indicada nos casos em que se deseja ter persist\u00eancia de dados e quando n\u00e3o se atrela ao host que hospeda o container.<\/p>\n<p>Outro aspecto que precisa ser considerado \u00e9 que o container est\u00e1 em um n\u00edvel de virtualiza\u00e7\u00e3o operacional, ou seja, \u00e9 um processo em execu\u00e7\u00e3o em um kernel compartilhado entre outros containers.<\/p>\n<p>Por meio do namespace \u00e9 feito o isolamento da mem\u00f3ria RAM, disco, processamento e acesso \u00e0 rede. Ou seja, em um contexto isolado h\u00e1 o compartilhamento do kernel, mas a impress\u00e3o \u00e9 de que o SO \u00e9 dedicado.<\/p>\n<p>Por fim, o compartilhamento pode ocorrer pela <a href=\"http:\/\/www.meupositivo.com.br\/panoramapositivo\/nuvem-hibrida\/\">cloud<\/a>. Essa tecnologia disponibiliza um reposit\u00f3rio de imagens e ambientes prontos, que podem ser compartilhados. Com a utiliza\u00e7\u00e3o desse servi\u00e7o, o docker chega a extrapolar o limite t\u00e9cnico e passa para quest\u00f5es de ger\u00eancia, processo e update do ambiente.<\/p>\n<p>Com isso, torna-se mais f\u00e1cil compartilhar as modifica\u00e7\u00f5es e oferecer uma gest\u00e3o centralizada em rela\u00e7\u00e3o \u00e0s defini\u00e7\u00f5es de ambiente. O espa\u00e7o para testes tamb\u00e9m se torna mais leve, o que permite baixar uma solu\u00e7\u00e3o durante uma reuni\u00e3o, por exemplo, ou fornecer um padr\u00e3o de melhores pr\u00e1ticas para todos os colaboradores.<\/p>\n<h3>Gerenciamento facilitado<\/h3>\n<p>Os containers s\u00e3o executados em m\u00e1quinas f\u00edsicas ou virtuais e o grupo delas \u00e9 chamado de cluster. Esse item precisa ser monitorado constantemente. Por isso, foram criadas ferramentas para fazer o gerenciamento, por exemplo, o Kubernetes e o OpenShift.<\/p>\n<p>Esses sistemas trabalham em conjunto com o docker e operam o equipamento que possibilita a execu\u00e7\u00e3o dos containers. No entanto, os sistemas de arquivos tamb\u00e9m s\u00e3o gerenciados.<\/p>\n<p>Essas ferramentas de monitoramento geram uma abstra\u00e7\u00e3o, denominada pod, no n\u00edvel de um componente da aplica\u00e7\u00e3o. Essa quest\u00e3o inclui um grupo de um ou mais containers, armazenamento compartilhado e alternativas de opera\u00e7\u00e3o.<\/p>\n<h3>Similaridade dos ambientes<\/h3>\n<p>A <a href=\"http:\/\/www.meupositivo.com.br\/panoramapositivo\/transformacao-digital\/\">transforma\u00e7\u00e3o<\/a> da aplica\u00e7\u00e3o em uma imagem docker permite que ela seja instanciada como container em diferentes ambientes. Essa caracter\u00edstica garante a sua utiliza\u00e7\u00e3o, por exemplo, tanto no notebook do desenvolvedor quando no servidor de produ\u00e7\u00e3o.<\/p>\n<p>Tenha em mente que a imagem aceita par\u00e2metros na inicia\u00e7\u00e3o do container, situa\u00e7\u00e3o que indica diferentes comportamentos conforme o ambiente. Por exemplo: ele pode se conectar ao banco de dados local para testes a partir da base de dados e credenciais, mas em produ\u00e7\u00e3o acessar\u00e1 um database com infraestrutura robusta, que possui as suas pr\u00f3prias credenciais.<\/p>\n<p>\u00c9 importante destacar que ambientes semelhantes impactam a an\u00e1lise de erros e a confiabilidade do processo de entrega cont\u00ednua de forma positiva. No segundo caso, a base \u00e9 a cria\u00e7\u00e3o de um artefato \u00fanico que faz a <a href=\"http:\/\/www.meupositivo.com.br\/panoramapositivo\/migracao-de-dados\/\">migra\u00e7\u00e3o<\/a>, que pode ser a pr\u00f3pria imagem do docker com as depend\u00eancias necess\u00e1rias para a execu\u00e7\u00e3o do c\u00f3digo din\u00e2mico ou compilado.<\/p>\n<h3>Aplica\u00e7\u00e3o como pacote completo<\/h3>\n<p>As imagens do docker possibilitam o empacotamento da aplica\u00e7\u00e3o e as suas depend\u00eancias, o que simplifica o processo de distribui\u00e7\u00e3o por n\u00e3o ser exigida ampla documenta\u00e7\u00e3o sobre a configura\u00e7\u00e3o da infraestrutura com a finalidade de execu\u00e7\u00e3o. Para isso, basta disponibilizar o reposit\u00f3rio e permitir o acesso para o usu\u00e1rio.<\/p>\n<p>A partir disso \u00e9 poss\u00edvel fazer o download do pacote, que pode ser executado facilmente. O update tamb\u00e9m sofre impacto positivo, porque a estrutura de layers permite que, em caso de modifica\u00e7\u00e3o, somente a altera\u00e7\u00e3o seja transferida.<\/p>\n<p>Essa medida faz com que o ambiente possa ser mudado de maneira simples e r\u00e1pida. Com apenas um comando existe a capacidade de fazer o update da imagem da aplica\u00e7\u00e3o, que \u00e9 refletida no container em execu\u00e7\u00e3o quando for desejado.<\/p>\n<p>As imagens podem ser categorizadas com tags, o que facilita o armazenamento de diferentes vers\u00f5es de uma aplica\u00e7\u00e3o. Se houver algum problema na atualiza\u00e7\u00e3o, \u00e9 poss\u00edvel retornar para a imagem com a tag anterior.<\/p>\n<h3>Padroniza\u00e7\u00e3o e replica\u00e7\u00e3o<\/h3>\n<p>As imagens do docker s\u00e3o constru\u00eddas por meio de arquivos de defini\u00e7\u00e3o, o que assegura o seguimento de um determinado padr\u00e3o e eleva a confian\u00e7a na replica\u00e7\u00e3o. Dessa maneira, fica muito mais vi\u00e1vel escalar a estrutura.<\/p>\n<p>Com a chegada de um novo membro para a equipe de TI, por exemplo, ele pode se integrar e receber o ambiente de trabalho rapidamente, com apenas alguns comandos. Ele ainda pode desenvolver os c\u00f3digos de acordo com o padr\u00e3o adotado para a equipe.<\/p>\n<p>Por sua vez, na necessidade de testar uma vers\u00e3o com as imagens, \u00e9 poss\u00edvel mudar um ou mais par\u00e2metros de um arquivo de defini\u00e7\u00e3o. Ou seja, \u00e9 mais simples criar e mudar a infraestrutura.<\/p>\n<h3>Possibilidade de acessar comunidade<\/h3>\n<p>O reposit\u00f3rio de imagens docker pode ser acessado para conseguir modelos de infraestrutura de aplica\u00e7\u00f5es e servi\u00e7os prontos para integra\u00e7\u00f5es complexas. Dois exemplos s\u00e3o o mysql como banco de dados e o nginx como proxy reverso.<\/p>\n<p>No caso de a aplica\u00e7\u00e3o exigir esses recursos, voc\u00ea pode apenas usar as imagens do reposit\u00f3rio e configurar os par\u00e2metros para adequa\u00e7\u00e3o ao seu ambiente. Essa \u00e9 uma vantagem principalmente porque as imagens oficiais costumam ser condizentes com as boas pr\u00e1ticas.<\/p>\n<p>Como voc\u00ea p\u00f4de perceber, a tecnologia do docker \u00e9 um pouco complexa, mas vale a pena apostar nela. A sua empresa consegue economizar recursos, configurar par\u00e2metros e virtualizar em um n\u00edvel muito mais alto que o permitido pelas VMs atualmente.<\/p>\n<p>Por isso, vale a pena apostar no container docker para ter todas essas vantagens. E a\u00ed, gostou de entender melhor sobre o assunto? Confira outras dicas curtindo ou seguindo as nossas p\u00e1ginas no <a href=\"https:\/\/www.facebook.com\/positivooficial\/\">Facebook<\/a>, <a href=\"https:\/\/www.youtube.com\/user\/computadorespositivo\">YouTube<\/a>, <a href=\"https:\/\/twitter.com\/positivooficial\">Twitter<\/a> e no <a href=\"https:\/\/br.linkedin.com\/company\/positivo-tecnologia\">LinkedIn<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A tecnologia est\u00e1 em constante evolu\u00e7\u00e3o e a todo momento surgem &hellip; <\/p>\n","protected":false},"author":2,"featured_media":1691,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Container docker: o que \u00e9 e quais s\u00e3o as vantagens de usar? - Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o<\/title>\n<meta name=\"description\" content=\"J\u00e1 ouviu falar em container docker? Veja como essa tecnologia pode facilitar o trabalho da equipe de TI nas empresas.\" \/>\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.meupositivo.com.br\/panoramapositivo\/container-docker\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Container docker: o que \u00e9 e quais s\u00e3o as vantagens de usar? - Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o\" \/>\n<meta property=\"og:description\" content=\"J\u00e1 ouviu falar em container docker? Veja como essa tecnologia pode facilitar o trabalho da equipe de TI nas empresas.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-04T10:00:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-24T12:48:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-content\/uploads\/2017\/12\/130373-fabiola-thibes-container-docker-o-que-e-e-quais-sao-as-vantagens-de-usar-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Positivo Tecnologia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Positivo Tecnologia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/\",\"url\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/\",\"name\":\"Container docker: o que \u00e9 e quais s\u00e3o as vantagens de usar? - Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o\",\"isPartOf\":{\"@id\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#website\"},\"datePublished\":\"2017-12-04T10:00:31+00:00\",\"dateModified\":\"2021-08-24T12:48:42+00:00\",\"author\":{\"@id\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#\/schema\/person\/24564f89e0269b0f66cb0c1e13425931\"},\"description\":\"J\u00e1 ouviu falar em container docker? Veja como essa tecnologia pode facilitar o trabalho da equipe de TI nas empresas.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Container docker: o que \u00e9 e quais s\u00e3o as vantagens de usar?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#website\",\"url\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/\",\"name\":\"Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o\",\"description\":\"Acompanhe no blog Panorama Positivo conte\u00fados sobre tecnologia da informa\u00e7\u00e3o, informa\u00e7\u00f5es pr\u00e1ticas e estrat\u00e9gias para alavancar a sua empresa.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#\/schema\/person\/24564f89e0269b0f66cb0c1e13425931\",\"name\":\"Positivo Tecnologia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e6767e460e43ec17287f9208094e80f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e6767e460e43ec17287f9208094e80f?s=96&d=mm&r=g\",\"caption\":\"Positivo Tecnologia\"},\"url\":\"https:\/\/www.meupositivo.com.br\/panoramapositivo\/author\/positivo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Container docker: o que \u00e9 e quais s\u00e3o as vantagens de usar? - Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o","description":"J\u00e1 ouviu falar em container docker? Veja como essa tecnologia pode facilitar o trabalho da equipe de TI nas empresas.","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.meupositivo.com.br\/panoramapositivo\/container-docker\/","og_locale":"pt_BR","og_type":"article","og_title":"Container docker: o que \u00e9 e quais s\u00e3o as vantagens de usar? - Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o","og_description":"J\u00e1 ouviu falar em container docker? Veja como essa tecnologia pode facilitar o trabalho da equipe de TI nas empresas.","og_url":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/","og_site_name":"Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o","article_published_time":"2017-12-04T10:00:31+00:00","article_modified_time":"2021-08-24T12:48:42+00:00","og_image":[{"width":700,"height":400,"url":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-content\/uploads\/2017\/12\/130373-fabiola-thibes-container-docker-o-que-e-e-quais-sao-as-vantagens-de-usar-1.jpg","type":"image\/jpeg"}],"author":"Positivo Tecnologia","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Positivo Tecnologia","Est. reading time":"16 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/","url":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/","name":"Container docker: o que \u00e9 e quais s\u00e3o as vantagens de usar? - Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o","isPartOf":{"@id":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#website"},"datePublished":"2017-12-04T10:00:31+00:00","dateModified":"2021-08-24T12:48:42+00:00","author":{"@id":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#\/schema\/person\/24564f89e0269b0f66cb0c1e13425931"},"description":"J\u00e1 ouviu falar em container docker? Veja como essa tecnologia pode facilitar o trabalho da equipe de TI nas empresas.","breadcrumb":{"@id":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/container-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/"},{"@type":"ListItem","position":2,"name":"Container docker: o que \u00e9 e quais s\u00e3o as vantagens de usar?"}]},{"@type":"WebSite","@id":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#website","url":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/","name":"Panorama Positivo - Tudo sobre tecnologia da informa\u00e7\u00e3o","description":"Acompanhe no blog Panorama Positivo conte\u00fados sobre tecnologia da informa\u00e7\u00e3o, informa\u00e7\u00f5es pr\u00e1ticas e estrat\u00e9gias para alavancar a sua empresa.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#\/schema\/person\/24564f89e0269b0f66cb0c1e13425931","name":"Positivo Tecnologia","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e6767e460e43ec17287f9208094e80f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e6767e460e43ec17287f9208094e80f?s=96&d=mm&r=g","caption":"Positivo Tecnologia"},"url":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/author\/positivo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/posts\/1690"}],"collection":[{"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/comments?post=1690"}],"version-history":[{"count":2,"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/posts\/1690\/revisions"}],"predecessor-version":[{"id":6383,"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/posts\/1690\/revisions\/6383"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/media\/1691"}],"wp:attachment":[{"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/media?parent=1690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/categories?post=1690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.meupositivo.com.br\/panoramapositivo\/wp-json\/wp\/v2\/tags?post=1690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}