{"id":63174,"date":"2023-09-13T06:33:44","date_gmt":"2023-09-13T09:33:44","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=63174&#038;preview=true&#038;preview_id=63174"},"modified":"2023-09-25T08:27:22","modified_gmt":"2023-09-25T11:27:22","slug":"conteiner-next-js","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/","title":{"rendered":"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta"},"content":{"rendered":"<p>Este artigo explica como voc\u00ea pode colocar em cont\u00eainer um aplicativo <a href=\"https:\/\/kinsta.com\/pt\/blog\/next-js\/\">Next.js<\/a> com um <strong>Dockerfile<\/strong> para uma implanta\u00e7\u00e3o personaliz\u00e1vel. Como alternativa, voc\u00ea pode <a href=\"https:\/\/kinsta.com\/pt\/blog\/portfolio-next-js\/#deploy-your-portfolio-to-kinsta\">implantar um aplicativo Next.js na Kinsta usando a implanta\u00e7\u00e3o autom\u00e1tica<\/a>.<\/p>\n<p>Com o <a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker<\/a>, empacotamos um aplicativo, seu ambiente e suas depend\u00eancias em um cont\u00eainer isolado. Um cont\u00eainer consiste em um aplicativo executado em uma vers\u00e3o reduzida do Linux. Uma imagem do Docker \u00e9 o projeto de um cont\u00eainer, e o cont\u00eainer \u00e9 uma inst\u00e2ncia em execu\u00e7\u00e3o de uma imagem.<\/p>\n<p>Para colocar um aplicativo em um cont\u00eainer, usamos um m\u00e9todo declarativo por meio de um <strong>Dockerfile<\/strong>. O Docker l\u00ea e executa os scripts definidos nesse arquivo para criar e implantar seu aplicativo.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Nosso especialista no assunto (SME) <a href=\"https:\/\/kinsta.com\/blog\/author\/aminchoroomi\/\">Amin Choroomi<\/a>, um desenvolvedor de software da Kinsta, criou a base de c\u00f3digo e as etapas deste tutorial.<\/p>\n<\/aside>\n\n<h2>Vantagens de colocar o seu aplicativo em cont\u00eaineres<\/h2>\n<p>Colocar seu aplicativo em cont\u00eaineres traz v\u00e1rias vantagens, como portabilidade, estabilidade, escalabilidade, seguran\u00e7a e desempenho. Ao implantar um aplicativo na Kinsta com um <strong>Dockerfile<\/strong>, voc\u00ea tamb\u00e9m aproveita sua capacidade de personaliza\u00e7\u00e3o.<\/p>\n<h3>Portabilidade<\/h3>\n<p>O <a href=\"https:\/\/kinsta.com\/pt\/blog\/que-e-docker\/\">Docker<\/a> encapsula tudo o que um aplicativo precisa para rodar, permitindo que sejam facilmente transferidos entre ambientes. Se voc\u00ea estiver executando localmente, em um computador com um sistema operacional diferente ou em ambientes de teste e produ\u00e7\u00e3o, o Docker constr\u00f3i o aplicativo com os mesmos componentes, facilitando o c\u00f3digo, teste e implanta\u00e7\u00e3o.<\/p>\n<h3>Escalabilidade<\/h3>\n<p>Com o Docker, voc\u00ea pode executar v\u00e1rias inst\u00e2ncias do seu cont\u00eainer em diferentes servidores. Os orquestradores de cont\u00eaineres lidam com o aumento do tr\u00e1fego sem afetar o desempenho do seu aplicativo.<\/p>\n<h3>Estabilidade<\/h3>\n<p>Ao executar seu aplicativo em um cont\u00eainer isolado, voc\u00ea tem resultados previs\u00edveis ao mover o c\u00f3digo entre os sistemas de desenvolvimento, teste e produ\u00e7\u00e3o. Como o cont\u00eainer cont\u00e9m vers\u00f5es exatas das bibliotecas e dos pacotes necess\u00e1rios, voc\u00ea minimiza o risco de bugs devido a diferentes revis\u00f5es de depend\u00eancias.<\/p>\n<p>Al\u00e9m disso, quando seu aplicativo \u00e9 implantado em um servidor de produ\u00e7\u00e3o, o Docker o mant\u00e9m isolado de outros aplicativos, minimizando o risco de voc\u00ea ser afetado pelos picos de tr\u00e1fego deles.<\/p>\n<h3>Seguran\u00e7a<\/h3>\n<p>Os cont\u00eaineres do Docker oferecem um ambiente mais seguro para suas cargas de trabalho do que os modelos tradicionais. Como eles dividem seus aplicativos em componentes muito menores e pouco acoplados, cada um isolado do outro, h\u00e1 uma superf\u00edcie de ataque significativamente reduzida. Os cont\u00eaineres do Docker diminuem a chance de os hackers explorarem seus sistemas de computador e dificultam a dissemina\u00e7\u00e3o de uma viola\u00e7\u00e3o no caso de um ataque. Saiba mais neste artigo: <a href=\"https:\/\/kinsta.com\/pt\/blog\/seguranca-docker\/\">9 pr\u00e1ticas recomendadas de seguran\u00e7a para cont\u00eaineres do Docker<\/a>.<\/p>\n<h3>Desempenho<\/h3>\n<p>Os cont\u00eaineres n\u00e3o cont\u00eam um sistema operacional completo, como as m\u00e1quinas virtuais e os servidores tradicionais. Com isso, os cont\u00eaineres ocupam um espa\u00e7o consideravelmente menor e s\u00e3o mais r\u00e1pidos de construir e iniciar.<\/p>\n<h3>Implanta\u00e7\u00e3o personalizada<\/h3>\n<p>Com a Kinsta, voc\u00ea pode implantar seus aplicativos automaticamente usando Buildpacks e Nixpacks. Mas quando o processo de build \u00e9 acionado automaticamente com base no c\u00f3digo-fonte do seu aplicativo, voc\u00ea n\u00e3o tem muito espa\u00e7o para personaliza\u00e7\u00f5es. Se voc\u00ea implantar na Kinsta com um <strong>Dockerfile<\/strong>, poder\u00e1 configurar exatamente como deseja construir e implantar seu aplicativo.<\/p>\n<h2>Requisitos<\/h2>\n<p>Para implantar um aplicativo <a href=\"https:\/\/nextjs.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Next.js<\/a> com o Docker, voc\u00ea precisa de:<\/p>\n<ul>\n<li><a href=\"https:\/\/nodejs.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Node.js<\/a> e <a href=\"https:\/\/www.npmjs.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">npm<\/a> instalados.<\/li>\n<li><a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker Desktop<\/a> (ou <a href=\"https:\/\/docs.docker.com\/engine\/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker Engine<\/a>) instalado e em execu\u00e7\u00e3o em seu computador.<\/li>\n<\/ul>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Para este tutorial, presumimos que voc\u00ea tenha um conhecimento b\u00e1sico do Next.js e Docker.<\/p>\n<\/aside>\n\n<h2>Comece com um aplicativo Next.js<\/h2>\n<p>Se estiver come\u00e7ando com um aplicativo existente, voc\u00ea pode pular esta etapa. Se voc\u00ea estiver come\u00e7ando do zero, crie um novo aplicativo Next.js:<\/p>\n<ol start=\"1\">\n<li>Abra o terminal e instale <code>create-next-app<\/code>:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">npm i -g create-next-app@latest<\/code><\/pre>\n<ol start=\"2\">\n<li>Navegue at\u00e9 o diret\u00f3rio onde voc\u00ea deseja instal\u00e1-lo e crie um novo aplicativo Next.js em seu pr\u00f3prio diret\u00f3rio:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">npx create-next-app@latest new-app<\/code><\/pre>\n<p>O Next solicita que voc\u00ea especifique v\u00e1rias op\u00e7\u00f5es de configura\u00e7\u00e3o para seu novo aplicativo. Para este tutorial, voc\u00ea pode simplesmente aceitar os padr\u00f5es sugeridos.<\/p>\n<ol start=\"3\">\n<li>Para visualizar seu novo aplicativo, navegue at\u00e9 o diret\u00f3rio <strong>new-app<\/strong> e execute:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">npm run dev<\/code><\/pre>\n<p>Para voc\u00ea ter uma refer\u00eancia, criamos um <a href=\"https:\/\/github.com\/VirtuaCreative\/kinsta-nextjs-docker\" target=\"_blank\" rel=\"noopener noreferrer\">aplicativo de exemplo<\/a> usando esse m\u00e9todo.<\/p>\n<h2>Colocando um aplicativo Next.js em um cont\u00eainer com um Dockerfile<\/h2>\n<p>Para colocar seu aplicativo Next.js em cont\u00eainer e implant\u00e1-lo com o Docker, crie um <strong>Dockerfile<\/strong> no diret\u00f3rio raiz do seu aplicativo.<\/p>\n<h3>Etapa de build<\/h3>\n<p>Em seu Dockerfile, comece criando o est\u00e1gio <code>build<\/code> do aplicativo para construir seu aplicativo:<\/p>\n<ol start=\"1\">\n<li>Use a imagem alpine oficial mais recente e est\u00e1vel do Node.js como a imagem de base para o est\u00e1gio <code>build<\/code>:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">FROM node:18-alpine AS build\nWORKDIR \/app<\/code><\/pre>\n<ol start=\"2\">\n<li>Copie os arquivos <strong>package.json<\/strong> e <strong>package-lock.json<\/strong> para o cont\u00eainer:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">COPY package*.json .\/<\/code><\/pre>\n<ol start=\"3\">\n<li>Instale as depend\u00eancias do aplicativo com:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">RUN npm ci<\/code><\/pre>\n<ol start=\"4\">\n<li>Copie o restante do c\u00f3digo do aplicativo para o cont\u00eainer com:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">COPY . .<\/code><\/pre>\n<ol start=\"5\">\n<li>Crie o aplicativo:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">RUN npm run build<\/code><\/pre>\n<h3>Est\u00e1gio de tempo de execu\u00e7\u00e3o (Runtime)<\/h3>\n<p>Crie o est\u00e1gio <code>runtime<\/code> para implantar seu aplicativo:<\/p>\n<ol start=\"1\">\n<li>Use a imagem alpine oficial mais recente e est\u00e1vel do Node.js como a imagem de base para o est\u00e1gio <code>runtime<\/code>:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">FROM node:18-alpine AS runtime<\/code><\/pre>\n<ol start=\"2\">\n<li>Defina o diret\u00f3rio de trabalho como <code>\/app<\/code>:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">WORKDIR \/app<\/code><\/pre>\n<ol start=\"3\">\n<li>Copie os arquivos <strong>package.json<\/strong> e <strong>package-lock.json<\/strong> para o cont\u00eainer:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">COPY package*.json .\/<\/code><\/pre>\n<ol start=\"4\">\n<li>Instale somente as depend\u00eancias de produ\u00e7\u00e3o:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">RUN npm ci --only=production<\/code><\/pre>\n<ol start=\"5\">\n<li>Copie o aplicativo criado do est\u00e1gio <code>build<\/code> para o est\u00e1gio <code>runtime<\/code>:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">COPY --from=build \/app\/.next .\/.next<\/code><\/pre>\n<ol start=\"6\">\n<li>Copie a pasta p\u00fablica do est\u00e1gio <code>build<\/code> para o est\u00e1gio <code>runtime<\/code>:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">COPY --from=build \/app\/public .\/public<\/code><\/pre>\n<ol start=\"7\">\n<li>Exponha a porta 3000:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">EXPOSE 3000<\/code><\/pre>\n<ol start=\"8\">\n<li>Execute o cont\u00eainer como um usu\u00e1rio sem privil\u00e9gios:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">USER node<\/code><\/pre>\n<ol start=\"9\">\n<li>Inicie o aplicativo Next.js:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">CMD [\"npm\", \"start\"]<\/code><\/pre>\n<p>Voc\u00ea ter\u00e1 o seguinte <strong>Dockerfile<\/strong>:<\/p>\n<pre><code class=\"language-bash\">FROM node:18-alpine AS build\n\nWORKDIR \/app\nCOPY package*.json .\/\nRUN npm ci\nCOPY . .\nRUN npm run build\n\nFROM node:18-alpine AS runtime\n\nWORKDIR \/app\nCOPY package*.json .\/\nRUN npm ci --only=production\nCOPY --from=build \/app\/.next .\/.next\nCOPY --from=build \/app\/public .\/public\n\nEXPOSE 3000\nUSER node\nCMD [\"npm\", \"start\"]<\/code><\/pre>\n<h2>Implante o aplicativo localmente com o Docker<\/h2>\n<p>Embora voc\u00ea ainda possa visualizar seu aplicativo com <code>run npm dev<\/code>, execute localmente com o Docker para simular o ambiente de produ\u00e7\u00e3o e para testar e visualizar quaisquer altera\u00e7\u00f5es feitas no <strong>Dockerfile<\/strong> do aplicativo.<\/p>\n<p>Para visualizar seu aplicativo:<\/p>\n<ol start=\"1\">\n<li>Crie o aplicativo com <code>docker build<\/code>:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">docker build -t next-docker .<\/code><\/pre>\n<ol start=\"2\">\n<li>Execute o cont\u00eainer para visualizar o aplicativo:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">docker run -p 3000:3000 next-docker<\/code><\/pre>\n<ol start=\"3\">\n<li>Em seu navegador, abra <code>http:\/\/localhost:3000<\/code>.<\/li>\n<\/ol>\n<h2>Implante o aplicativo Next.js em cont\u00eainer na Kinsta<\/h2>\n<p>Siga as etapas abaixo para implantar seu aplicativo na Kinsta usando o <strong>Dockerfile<\/strong>.<\/p>\n<ol start=\"1\">\n<li>Hospede a base de c\u00f3digo do seu aplicativo em um reposit\u00f3rio Git (no GitHub, GitLab ou Bitbucket).<\/li>\n<li>Fa\u00e7a login em sua conta MyKinsta ou <a href=\"https:\/\/kinsta.com\/pt\/inscreva-se\/\">crie uma nova<\/a> conta para acessar seu painel de controle.<\/li>\n<li>Clique em <strong>Adicionar servi\u00e7o<\/strong> e selecione <strong>Aplicativo<\/strong>.<\/li>\n<li>Selecione seu provedor Git, reposit\u00f3rio e o branch do qual voc\u00ea deseja implantar.<\/li>\n<li>Marque a caixa de sele\u00e7\u00e3o <strong>Implanta\u00e7\u00e3o autom\u00e1tica no commit<\/strong> se voc\u00ea quiser implantar seu aplicativo a cada push para o seu reposit\u00f3rio.<\/li>\n<li>Selecione o centro de dados mais pr\u00f3ximo do seu p\u00fablico e clique em <strong>Continue<\/strong>.<\/li>\n<li>Escolha seu ambiente de build e selecione <strong>Usar Dockerfile para configurar a imagem do cont\u00eainer<\/strong>.<\/li>\n<li>Se o seu Dockerfile n\u00e3o estiver na raiz do seu reposit\u00f3rio, use <strong>Context<\/strong> para indicar o caminho e clique em <strong>Continue<\/strong>.<\/li>\n<li>Voc\u00ea pode deixar a entrada <strong>Comando Start<\/strong> vazio. A Kinsta usa <code>npm start<\/code> para iniciar seu aplicativo.<\/li>\n<li>Selecione o tamanho do pod e o n\u00famero de inst\u00e2ncias mais adequados para o seu aplicativo e clique em <strong>Continue<\/strong>.<\/li>\n<li>Preencha as informa\u00e7\u00f5es do seu cart\u00e3o de cr\u00e9dito e clique em <strong>Criar aplicativo<\/strong>.<\/li>\n<\/ol>\n<p>Seu aplicativo est\u00e1 pronto para ser implantado. Se voc\u00ea marcou a caixa de sele\u00e7\u00e3o <strong>Implanta\u00e7\u00e3o autom\u00e1tica no commit<\/strong> na etapa 5, a Kinsta iniciar\u00e1 a implanta\u00e7\u00e3o automaticamente.<\/p>\n<h2>Resumo<\/h2>\n<p>Neste artigo, discutimos algumas vantagens de usar o Docker em rela\u00e7\u00e3o aos modelos tradicionais; explicamos como criar um <strong>Dockerfile<\/strong> para um aplicativo Next.js, cri\u00e1-lo e implant\u00e1-lo com o <a href=\"https:\/\/kinsta.com\/pt\/topicos\/docker\/\">Docker<\/a> localmente e implant\u00e1-lo na Kinsta.<\/p>\n<p>A <a href=\"https:\/\/sevalla.com\/application-hosting\/\">hospedagem de aplicativos<\/a> da Kinsta torna seu fluxo de trabalho de desenvolvimento f\u00e1cil e eficiente.<\/p>\n<p>Recursos como aplicativos em cont\u00eaineres na infraestrutura do Google Cloud Platform executados em m\u00e1quinas C2 com 27 centros de dados dispon\u00edveis, integra\u00e7\u00e3o premium com o Cloudflare para um CDN de alto desempenho que atende ao seu site a partir de 300 Pontos de Presen\u00e7a, prote\u00e7\u00e3o DDoS de firewall de n\u00edvel empresarial, Edge Caching e monitoramento de tempo de atividade (com garantia de 99% de tempo de atividade), garantem que seu aplicativo seja executado de forma r\u00e1pida, segura e dispon\u00edvel de forma confi\u00e1vel para a Internet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este artigo explica como voc\u00ea pode colocar em cont\u00eainer um aplicativo Next.js com um Dockerfile para uma implanta\u00e7\u00e3o personaliz\u00e1vel. Como alternativa, voc\u00ea pode implantar um aplicativo &#8230;<\/p>\n","protected":false},"author":290,"featured_media":63175,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[977,978],"class_list":["post-63174","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-frameworks-javascript","topic-tutoriais-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta<\/title>\n<meta name=\"description\" content=\"Construa e implante aplicativos e aprenda como colocar um aplicativo Next.js em cont\u00eainer com um Dockerfile para uma implanta\u00e7\u00e3o personaliz\u00e1vel.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta\" \/>\n<meta property=\"og:description\" content=\"Construa e implante aplicativos e aprenda como colocar um aplicativo Next.js em cont\u00eainer com um Dockerfile para uma implanta\u00e7\u00e3o personaliz\u00e1vel.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-13T09:33:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-25T11:27:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Marcia Ramos\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Construa e implante aplicativos e aprenda como colocar um aplicativo Next.js em cont\u00eainer com um Dockerfile para uma implanta\u00e7\u00e3o personaliz\u00e1vel.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marcia Ramos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/\"},\"author\":{\"name\":\"Marcia Ramos\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116\"},\"headline\":\"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta\",\"datePublished\":\"2023-09-13T09:33:44+00:00\",\"dateModified\":\"2023-09-25T11:27:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/\"},\"wordCount\":1449,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/\",\"name\":\"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg\",\"datePublished\":\"2023-09-13T09:33:44+00:00\",\"dateModified\":\"2023-09-25T11:27:22+00:00\",\"description\":\"Construa e implante aplicativos e aprenda como colocar um aplicativo Next.js em cont\u00eainer com um Dockerfile para uma implanta\u00e7\u00e3o personaliz\u00e1vel.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frameworks JavaScript\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/frameworks-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116\",\"name\":\"Marcia Ramos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g\",\"caption\":\"Marcia Ramos\"},\"description\":\"I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 10 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/marciadiasramos\/\"],\"honorificSuffix\":\"B.Sc.\",\"gender\":\"Female\",\"knowsLanguage\":[\"English\",\"Portuguese\"],\"jobTitle\":\"Editorial Team Lead\",\"worksFor\":\"Kinsta Inc.\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/marciaramos\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta","description":"Construa e implante aplicativos e aprenda como colocar um aplicativo Next.js em cont\u00eainer com um Dockerfile para uma implanta\u00e7\u00e3o personaliz\u00e1vel.","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:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/","og_locale":"pt_PT","og_type":"article","og_title":"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta","og_description":"Construa e implante aplicativos e aprenda como colocar um aplicativo Next.js em cont\u00eainer com um Dockerfile para uma implanta\u00e7\u00e3o personaliz\u00e1vel.","og_url":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2023-09-13T09:33:44+00:00","article_modified_time":"2023-09-25T11:27:22+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg","type":"image\/jpeg"}],"author":"Marcia Ramos","twitter_card":"summary_large_image","twitter_description":"Construa e implante aplicativos e aprenda como colocar um aplicativo Next.js em cont\u00eainer com um Dockerfile para uma implanta\u00e7\u00e3o personaliz\u00e1vel.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Marcia Ramos","Tempo estimado de leitura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/"},"author":{"name":"Marcia Ramos","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116"},"headline":"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta","datePublished":"2023-09-13T09:33:44+00:00","dateModified":"2023-09-25T11:27:22+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/"},"wordCount":1449,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/","url":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/","name":"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg","datePublished":"2023-09-13T09:33:44+00:00","dateModified":"2023-09-25T11:27:22+00:00","description":"Construa e implante aplicativos e aprenda como colocar um aplicativo Next.js em cont\u00eainer com um Dockerfile para uma implanta\u00e7\u00e3o personaliz\u00e1vel.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/09\/containerize-nextjs-app-and-deploy-to-kinsta.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/conteiner-next-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Frameworks JavaScript","item":"https:\/\/kinsta.com\/pt\/topicos\/frameworks-javascript\/"},{"@type":"ListItem","position":3,"name":"Como Colocar um Aplicativo Next.js em um Cont\u00eainer e Implantar na Kinsta"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116","name":"Marcia Ramos","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g","caption":"Marcia Ramos"},"description":"I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 10 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.","sameAs":["https:\/\/www.linkedin.com\/in\/marciadiasramos\/"],"honorificSuffix":"B.Sc.","gender":"Female","knowsLanguage":["English","Portuguese"],"jobTitle":"Editorial Team Lead","worksFor":"Kinsta Inc.","url":"https:\/\/kinsta.com\/pt\/blog\/author\/marciaramos\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/63174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/290"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=63174"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/63174\/revisions"}],"predecessor-version":[{"id":63442,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/63174\/revisions\/63442"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63174\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63174\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63174\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63174\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63174\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63174\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63174\/translations\/es"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63174\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/63175"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=63174"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=63174"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=63174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}