Docker: Como Containerizar uma Aplicação Node.js ?
*Texto de Paulo Clemente
Desenvolvedor na Rocketseat
A containerização de aplicativos é uma técnica poderosa que permite isolar e empacotar aplicativos com todas as suas dependências em contêineres(containers). O Docker é uma das ferramentas mais populares para realizar essa tarefa, e vamos ter fornecer um guia onde você aprenderá como containerizar uma aplicação Node.js usando o Docker. Vamos explorar o processo passo a passo, desde os pré-requisitos até a execução da aplicação no Docker.
Sem muita enrolação, vamos lá!
Pré-requisitos
Antes de mergulharmos na containerização, é importante garantir que você tenha algumas coisas em ordem:
- Docker Desktop: Certifique-se de ter a versão mais recente do Docker Desktop instalada em seu sistema. Você pode baixá-lo em Docker Desktop.
- Cliente Git: Os exemplos deste guia usam um cliente Git baseado em linha de comando. Certifique-se de ter um cliente Git instalado em seu sistema. Você pode usar qualquer cliente Git de sua preferência.
Tudo ok? Agora podemos começar.
Visão geral
Ao finalizar o guia você deve ser capaz de criar um contêiner para uma aplicação Node.js e executá-la dentro do Docker.
Não se assuste, vamos dividir o processo em etapas para torná-lo mais fácil de seguir.
Passo 1: Obtenha a amostra da aplicação
A primeira etapa é obter a aplicação de amostra. Vamos usar um exemplo que o próprio docker nos fornece.
Abra um terminal, vá para o diretório onde deseja trabalhar e execute o seguinte comando para clonar o repositório:
$ git clone <https://github.com/docker/docker-nodejs-sample>
Passo 2: Teste a aplicação sem o Docker (opcional)
Antes de prosseguir com a containerização, é uma boa prática testar a aplicação localmente sem o Docker. Para fazer isso, siga estas etapas:
- Certifique-se de ter o Node.js 18 instalado em sua máquina. Você pode baixá-lo em Node.js.
- Abra um terminal, vá para o diretório 'docker-nodejs-sample' e execute o seguinte comando para instalar as dependências:
$ npm install
- Quando as dependências terminarem de instalar, execute o seguinte comando para iniciar a aplicação:
$ node src/index.js
- Abra um navegador e acesse a aplicação em http://localhost:3000. Você deverá ver uma aplicação de lista de tarefas simples.
- No terminal, pressione Ctrl+C para parar a aplicação.
Passo 3: Inicialize os recursos do Docker
Agora que você tem uma aplicação, podemos iniciar o processo de containerização. Dentro do diretório 'docker-nodejs-sample', execute o comando 'docker init' em um terminal e siga as instruções:
$ docker init
Isso criará os recursos necessários do Docker para containerizar sua aplicação. Responda às perguntas de acordo com o seu projeto.
Passo 4: Execute a aplicação
Dentro do diretório 'docker-nodejs-sample', execute o seguinte comando em um terminal:
$ docker compose up --build
Passo 5: Execute a aplicação em segundo plano
Se desejar executar a aplicação em segundo plano, você pode fazê-lo adicionando a opção '-d'. Dentro do diretório 'docker-nodejs-sample', execute o seguinte comando em um terminal:
$ docker compose up --build -d
Para parar a aplicação em segundo plano, execute o seguinte comando:
$ docker compose down
Isso resume os passos para containerizar e executar uma aplicação Node.js com Docker. Com essa técnica, você pode empacotar suas aplicações de forma eficiente e garantir que funcionem consistentemente em qualquer ambiente.
A containerização com Docker oferece flexibilidade e escalabilidade, tornando-a uma escolha sólida para o gerenciamento de aplicativos.
Se você deseja saber mais sobre Docker e containerização, confira a documentação oficial em Docker Documentation.
A containerização de aplicativos Node.js com Docker é uma habilidade valiosa para qualquer desenvolvedor. Isso simplifica o processo de implantação e garante que suas aplicações funcionem sem problemas em vários ambientes. Siga este guia passo a passo e comece a containerizar suas próprias aplicações Node.js.