{"id":1384,"date":"2020-02-18T10:32:44","date_gmt":"2020-02-18T13:32:44","guid":{"rendered":"https:\/\/blog.absam.io\/?p=1384"},"modified":"2020-02-18T10:32:44","modified_gmt":"2020-02-18T13:32:44","slug":"como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos","status":"publish","type":"post","link":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/","title":{"rendered":"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o"},"content":{"rendered":"<p>A utiliza\u00e7\u00e3o do docker \u00e9 uma das formas mais simples de voc\u00ea realizar o deploy de sua aplica\u00e7\u00e3o num servidor. Neste artigo iremos entendeComo utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o, criando o seu docker file.<\/p>\n<p>Sempre que h\u00e1 migra\u00e7\u00e3o de aplica\u00e7\u00e3o entre servidores ou a cria\u00e7\u00e3o de um novo ambiente operacional, \u00e9 preciso refazer toda a configura\u00e7\u00e3o em uma nova m\u00e1quina virtual, exigindo uma quantidade de tempo e trabalho consider\u00e1vel. Devido a essas situa\u00e7\u00f5es que por repetidas vezes ocorriam, uma das tecnologias que se tornaram muito populares nos \u00faltimos anos foi a de containers. Veremos algumas vantagens de adotar essa abordagem, que a princ\u00edpio parece ser mais trabalhosa, entretanto, reduz o trabalho de reimplanta\u00e7\u00e3o a pr\u00f3ximo de zero. Veremos como construir uma aplica\u00e7\u00e3o web, utilizando PHP FastCGI e Nginx, al\u00e9m de instalar automaticamente o composer e seus pacotes.<\/p>\n<p>Todos os arquivos utilizados neste post podem ser encontrados em: https:\/\/github.com\/goodeath\/absamPosts\/tree\/master\/docker-app<\/p>\n<p><strong>Docker<\/strong><\/p>\n<p>\u00c9 importante deixar claro que a tecnologia de containers e Docker s\u00e3o duas coisas distintas. Os containers se tratam de um tipo de virtualiza\u00e7\u00e3o. J\u00e1 o Docker \u00e9 uma implementa\u00e7\u00e3o concreta dessa tecnologia. Esta op\u00e7\u00e3o foi escolhida por ser bastante popular, robusta e open source. Toda vez que utilizarmos o termo Docker trataremos do software .<\/p>\n<p><strong>Docker Compose<\/strong><\/p>\n<p>\u00c9 uma <a href=\"http:\/\/docker.com\">ferramenta do docker<\/a>, utilizada para construir e configurar m\u00faltiplos containers Docker simultaneamente. \u00c9 poss\u00edvel iniciar todos os seus servi\u00e7os atrav\u00e9s de um arquivo de configura\u00e7\u00e3o (docker-compose.yml) com apenas um comando. Pode ser utilizado em todos os ambientes: produ\u00e7\u00e3o, testes, desenvolvimento, etc.<\/p>\n<p><strong>Dockerfile<\/strong><\/p>\n<p>Se trata de um arquivo de configura\u00e7\u00e3o, assim como o docker-compose.yml, utilizado para dar instru\u00e7\u00f5es durante a cria\u00e7\u00e3o dos containers. Podemos utiliz\u00e1-lo para baixar arquivos, instalar pacotes, executar comandos shell, etc.<\/p>\n<p><strong>Iniciando<\/strong><\/p>\n<p>Devemos instalar os pacotes do Docker. Basta executar o comando:<\/p>\n<p>$ apt install docker.io docker-compose -y<\/p>\n<p>uma vez instalado, podemos verificar a instala\u00e7\u00e3o do docker executando:<\/p>\n<p>$ docker -v<\/p>\n<p>A sa\u00edda deve ser algo como: Docker version 18.09.7, build 2d0083d. Para verificar a instala\u00e7\u00e3o do Docker Compose, podemos executar:<br \/>\n$ docker-compose -v<\/p>\n<p>A sa\u00edda deve ser algo como: docker-compose version 1.17.1, build unknown. Caso haja problemas com a instala\u00e7\u00e3o dos pacotes, visite https:\/\/docs.docker.com\/install\/ para checar a instru\u00e7\u00f5es detalhadas para o seu sistema operacional.<\/p>\n<p>Iremos aproveitar as imagens j\u00e1 constru\u00eddas, dispon\u00edveis no Docker Hub (https:\/\/hub.docker.com). Vamos utilizar a imagem do PHP 7.2-fpm e a nginx:latest. Felizmente podemos utilizar o pr\u00f3prio docker compose para recuperar essas imagens, sem precisar necessariamente acessar o site.<\/p>\n<p>Crie uma nova pasta para o seu projeto, e crie um arquivo chamado docker-compose.yml. O arquivo final vai ser parecido com este:<br \/>\n<a href=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/1.jpg\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-1385\" src=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/1-293x300.jpg\" alt=\"docker file exemplo\" width=\"433\" height=\"443\" \/><\/a><\/p>\n<p>Vamos analisar cada um dos campos:<\/p>\n<p><strong>version<\/strong> &#8211; Indica qual a vers\u00e3o do compose que sendo utilizada. Neste caso a vers\u00e3o 3.<br \/>\n<strong>services<\/strong> &#8211; Define os servi\u00e7os que ser\u00e3o iniciados pelo compose.<br \/>\n<strong>php | web<\/strong> &#8211; O identificador do servi\u00e7o. Pode ser qualquer nome alfanum\u00e9rico.<br \/>\n<strong>ports<\/strong> &#8211; Exp\u00f5e portas do container. A sintaxe \u00e9 feita de \u201c{porta_de_origem}:{porta_de_destino}\u201d<br \/>\n<strong>build<\/strong> &#8211; Campo que indica diret\u00f3rio onde est\u00e1 as configura\u00e7\u00f5es que ser\u00e3o aplicadas em tempo de build. Como utilizaremos os arquivos na mesma pasta, utilizamos o . (ponto) para indicar o diret\u00f3rio atual. Tal par\u00e2metro \u00e9 utilizado apenas no servi\u00e7o do PHP, pois, o servidor nginx n\u00e3o exige configura\u00e7\u00f5es adicionais.<br \/>\n<strong>image<\/strong> &#8211; Indica o nome da imagem que ser\u00e1 utilizada pelo servi\u00e7o. Pode ser encontrado no Docker Hub.<br \/>\n<strong>container_name<\/strong> &#8211; Nome do container. \u00c9 usado apenas como um identificador na hora de executar comandos no container.<br \/>\n<strong>volumes<\/strong> &#8211; Aqui podemos realizar um link de nossas pastas para dentro do container. Na forma de {origem}:{destino}. \u00c9 importante notar que, os volumes (pastas, subpastas e arquivos) caso sejam alterados no host , v\u00e3o refletir dentro do container e vice-versa. Caso deseje que sejam independentes, procurar pelo comando COPY no Dockerfile<br \/>\n<strong>depends_on<\/strong> &#8211; Lista os servi\u00e7os pelos seus indicadores, pelo qual o servi\u00e7o atual precisa esperar para come\u00e7ar a se iniciar.<br \/>\n<strong>links<\/strong> &#8211; Indica ao servi\u00e7o, aos quais outros ele deve estabelecer uma conex\u00e3o de rede. Neste caso o Nginx est\u00e1 linkado com o php pois precisa repassar as solicita\u00e7\u00f5es de arquivos php para o FastCGI. Perceba que o nginx solicita ao PHP e pega o retorno, mas, o php nunca faz uma solicita\u00e7\u00e3o direta ao nginx, sendo desnecess\u00e1rio estabelecer a conex\u00e3o nas duas dire\u00e7\u00f5es.<br \/>\n<strong>networks<\/strong> &#8211; Podemos estabelecer ou n\u00e3o uma rede e utiliz\u00e1-las em um servi\u00e7o. \u00c9 ideal para manter os endere\u00e7os constantes e n\u00e3o variar cada vez que um container novo \u00e9 criado.<\/p>\n<p>No Nginx utilizamos um arquivo site.conf, para realizar as devidas configura\u00e7\u00f5es de integra\u00e7\u00e3o com o FastCGI. \u00c9 importante n\u00e3o esquecer da indenta\u00e7\u00e3o e dos h\u00edfens (-) para que n\u00e3o ocorra erro na hora do build.<\/p>\n<p><a href=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/2.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-1386\" src=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/2-300x248.jpg\" alt=\"\" width=\"377\" height=\"312\" \/><\/a><\/p>\n<p>site.conf<\/p>\n<p>Vamos agora a cria\u00e7\u00e3o do Dockerfile.<\/p>\n<p><a href=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/3.jpg\"><img decoding=\"async\" class=\"alignnone size-medium wp-image-1387\" src=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/3-300x131.jpg\" alt=\"\" width=\"300\" height=\"131\" \/><\/a><\/p>\n<p>Vamos destacar apenas os pontos essenciais:<\/p>\n<p>FROM php:7.2-fpm &#8211; Indica que todos os comandos abaixo dessa linha ser\u00e3o executados no container que possui a imagem php:7.2-fpm.<\/p>\n<p>O que fazemos aqui \u00e9 copiar nosso c\u00f3digo fonte para a pasta \/home, baixar e instalar o composer (poder\u00edamos tamb\u00e9m utilizar a imagem pronta), instalar os pacotes do composer e setar a pasta padr\u00e3o como \/code. No final colocamos um script personalizado de execu\u00e7\u00e3o, que far\u00e1 a c\u00f3pia da pasta \/home\/vendor para a \/code\/vendor.<\/p>\n<p>Um dos motivos de utilizar um script personalizado, \u00e9 que como estamos realizando um link da pasta com o host, se realizarmos a instala\u00e7\u00e3o de maneira direta, o link \u00e9 feito depois da execu\u00e7\u00e3o do Dockerfile, logo, todos os arquivos do vendor ser\u00e3o apagados. \u00c9 poss\u00edvel superar essa dificuldade usando fases intermedi\u00e1rias de build no Docker, mas, n\u00e3o ser\u00e1 nosso caso no momento.<\/p>\n<p><a href=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1388 size-medium\" src=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/3-300x131.jpg\" alt=\"docker file \" width=\"300\" height=\"131\" \/><\/a><\/p>\n<p>Podemos colocar na raiz do nosso projeto um arquivo index.php:<\/p>\n<p>&lt;?php phpinfo(); ?&gt;<\/p>\n<p>Com toda a configura\u00e7\u00e3o realizada, basta executar dentro da pasta:<\/p>\n<p>$ docker-compose up<\/p>\n<p>E devemos ver a seguinte tela:<\/p>\n<p><a href=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1389\" src=\"https:\/\/blog.absam.io\/wp-content\/uploads\/2020\/02\/5-300x188.jpg\" alt=\"\" width=\"468\" height=\"293\" \/><\/a><\/p>\n<p>\u00c9 poss\u00edvel que seja necess\u00e1rio executar os comandos com o docker em modo de administrador ou caso deseje executar no modo normal, veja este guia: https:\/\/github.com\/sindresorhus\/guides\/blob\/master\/docker-without-sudo.md<\/p>\n<p>Conclus\u00e3o<\/p>\n<p>Em resumo, a tecnologia Docker \u00e9 uma abordagem mais granular, control\u00e1vel e baseada em microsservi\u00e7os que valoriza a efici\u00eancia. Uma vez que todo o processo (Dockerfile, docker-compose, scripts auxiliares) tenham sido completados, basta copiar os arquivos para o servidor, instalar o docker e executar o docker compose. Dessa forma, teremos todo o ambiente devidamente configurado e pronto para uso.<\/p>\n<p>Links<\/p>\n<p>PHP-FPM &#8211; https:\/\/hub.docker.com\/_\/php?tab=tags<br \/>\nNginx &#8211; https:\/\/hub.docker.com\/_\/nginx<br \/>\nDockerfile &#8211; https:\/\/docs.docker.com\/engine\/reference\/builder\/<br \/>\nDocker Compose &#8211; https:\/\/docs.docker.com\/compose\/<br \/>\nP\u00e1gina Oficial do Docker &#8211; https:\/\/www.docker.com\/<br \/>\nDocker Compose Vers\u00e3o 3 &#8211; Refer\u00eancia &#8211; https:\/\/docs.docker.com\/compose\/compose-file\/#build<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A utiliza\u00e7\u00e3o do docker \u00e9 uma das formas mais simples de voc\u00ea realizar o deploy de sua aplica\u00e7\u00e3o num servidor. Neste artigo iremos entendeComo utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o, criando o seu docker file. Sempre que [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":14199,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49,67,38],"tags":[],"class_list":["post-1384","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-tecnologia","category-tutoriais"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o<\/title>\n<meta name=\"description\" content=\"Como realizar um deploy em um servidor utilizando o Docker e Docker file.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o\" \/>\n<meta property=\"og:description\" content=\"Como realizar um deploy em um servidor utilizando o Docker e Docker file.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog da Absam\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/absam.io\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-18T13:32:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"itala\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"itala\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/\"},\"author\":{\"name\":\"itala\",\"@id\":\"https:\/\/absam.io\/blog\/#\/schema\/person\/2aded04ea16b62756162f7a63db413c0\"},\"headline\":\"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o\",\"datePublished\":\"2020-02-18T13:32:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/\"},\"wordCount\":1224,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/absam.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png\",\"articleSection\":[\"Linux Server\",\"Tecnologia\",\"Tutoriais\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/\",\"url\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/\",\"name\":\"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o\",\"isPartOf\":{\"@id\":\"https:\/\/absam.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png\",\"datePublished\":\"2020-02-18T13:32:44+00:00\",\"description\":\"Como realizar um deploy em um servidor utilizando o Docker e Docker file.\",\"breadcrumb\":{\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#primaryimage\",\"url\":\"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png\",\"contentUrl\":\"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png\",\"width\":720,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/absam.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/absam.io\/blog\/#website\",\"url\":\"https:\/\/absam.io\/blog\/\",\"name\":\"Blog da Absam\",\"description\":\"Conte\u00fados sobre cloud computing, data centers, infraestrutura, automa\u00e7\u00e3o e alta performance para profissionais e empresas que buscam tecnologia de ponta\",\"publisher\":{\"@id\":\"https:\/\/absam.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/absam.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/absam.io\/blog\/#organization\",\"name\":\"Blog da Absam\",\"url\":\"https:\/\/absam.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/absam.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/absam.io\/blog\/wp-content\/uploads\/2024\/02\/logo-absam-150x150-1-1.png\",\"contentUrl\":\"https:\/\/absam.io\/blog\/wp-content\/uploads\/2024\/02\/logo-absam-150x150-1-1.png\",\"width\":150,\"height\":150,\"caption\":\"Blog da Absam\"},\"image\":{\"@id\":\"https:\/\/absam.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/absam.io\",\"https:\/\/br.linkedin.com\/company\/absam-io\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/absam.io\/blog\/#\/schema\/person\/2aded04ea16b62756162f7a63db413c0\",\"name\":\"itala\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/b6a963764ffa0819ed27852c916a57cbd51eca50e32de0ada841bf418e9945ec?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b6a963764ffa0819ed27852c916a57cbd51eca50e32de0ada841bf418e9945ec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b6a963764ffa0819ed27852c916a57cbd51eca50e32de0ada841bf418e9945ec?s=96&d=mm&r=g\",\"caption\":\"itala\"},\"url\":\"https:\/\/absam.io\/blog\/author\/itala\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o","description":"Como realizar um deploy em um servidor utilizando o Docker e Docker file.","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:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/","og_locale":"pt_BR","og_type":"article","og_title":"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o","og_description":"Como realizar um deploy em um servidor utilizando o Docker e Docker file.","og_url":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/","og_site_name":"Blog da Absam","article_publisher":"https:\/\/www.facebook.com\/absam.io","article_published_time":"2020-02-18T13:32:44+00:00","og_image":[{"width":720,"height":300,"url":"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png","type":"image\/png"}],"author":"itala","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"itala","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#article","isPartOf":{"@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/"},"author":{"name":"itala","@id":"https:\/\/absam.io\/blog\/#\/schema\/person\/2aded04ea16b62756162f7a63db413c0"},"headline":"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o","datePublished":"2020-02-18T13:32:44+00:00","mainEntityOfPage":{"@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/"},"wordCount":1224,"commentCount":0,"publisher":{"@id":"https:\/\/absam.io\/blog\/#organization"},"image":{"@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#primaryimage"},"thumbnailUrl":"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png","articleSection":["Linux Server","Tecnologia","Tutoriais"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/","url":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/","name":"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o","isPartOf":{"@id":"https:\/\/absam.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#primaryimage"},"image":{"@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#primaryimage"},"thumbnailUrl":"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png","datePublished":"2020-02-18T13:32:44+00:00","description":"Como realizar um deploy em um servidor utilizando o Docker e Docker file.","breadcrumb":{"@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#primaryimage","url":"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png","contentUrl":"https:\/\/absam.io\/blog\/wp-content\/uploads\/2020\/02\/Design-sem-nome-16-1.png","width":720,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/absam.io\/blog\/como-utilizar-o-docker-para-fazer-deploy-de-sua-aplicacao-em-alguns-segundos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/absam.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Como utilizar o Docker para fazer deploy de sua aplica\u00e7\u00e3o"}]},{"@type":"WebSite","@id":"https:\/\/absam.io\/blog\/#website","url":"https:\/\/absam.io\/blog\/","name":"Blog da Absam","description":"Conte\u00fados sobre cloud computing, data centers, infraestrutura, automa\u00e7\u00e3o e alta performance para profissionais e empresas que buscam tecnologia de ponta","publisher":{"@id":"https:\/\/absam.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/absam.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/absam.io\/blog\/#organization","name":"Blog da Absam","url":"https:\/\/absam.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/absam.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/absam.io\/blog\/wp-content\/uploads\/2024\/02\/logo-absam-150x150-1-1.png","contentUrl":"https:\/\/absam.io\/blog\/wp-content\/uploads\/2024\/02\/logo-absam-150x150-1-1.png","width":150,"height":150,"caption":"Blog da Absam"},"image":{"@id":"https:\/\/absam.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/absam.io","https:\/\/br.linkedin.com\/company\/absam-io"]},{"@type":"Person","@id":"https:\/\/absam.io\/blog\/#\/schema\/person\/2aded04ea16b62756162f7a63db413c0","name":"itala","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/b6a963764ffa0819ed27852c916a57cbd51eca50e32de0ada841bf418e9945ec?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b6a963764ffa0819ed27852c916a57cbd51eca50e32de0ada841bf418e9945ec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b6a963764ffa0819ed27852c916a57cbd51eca50e32de0ada841bf418e9945ec?s=96&d=mm&r=g","caption":"itala"},"url":"https:\/\/absam.io\/blog\/author\/itala\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/posts\/1384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/comments?post=1384"}],"version-history":[{"count":0,"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/posts\/1384\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/media\/14199"}],"wp:attachment":[{"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/media?parent=1384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/categories?post=1384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/absam.io\/blog\/wp-json\/wp\/v2\/tags?post=1384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}