Docker Nodejs · 5 min read · Feb 05, 2026
Guia Docker: Dockerizando Aplicação Nodejs Express no Ubuntu 18.04

Docker é um projeto de código aberto que fornece uma plataforma aberta para desenvolvedores e administradores de sistema construírem, empacotarem e executarem aplicações em qualquer lugar como um contêiner leve. O Docker automatiza a implantação de aplicações dentro de contêineres de software.
Nodejs é um ambiente de execução JavaScript de código aberto. É um ambiente de execução multiplataforma, podendo ser instalado em Linux, Windows, MacOS, FreeBSD, etc. O Nodejs é muito útil para construir tanto aplicações de servidor quanto de desktop.
Neste tutorial, vou mostrar como criar uma imagem docker para um projeto existente de aplicação Nodejs Express no Ubuntu 18.04. Vamos aprender sobre como dockerizar uma aplicação Nodejs e, em seguida, implantar a aplicação como um contêiner no ambiente docker usando um script docker-compose.
Pré-requisitos
- Ubuntu 18.04
- Privilégios de root
O que faremos
- Instalar Docker CE
- Instalar Docker-Compose
- Configurar Projeto Nodejs Express
- Construir o Projeto
- Testar
Passo 1 - Instalar Docker CE
Neste tutorial, vamos instalar a edição comunitária docker-ce do repositório docker. Vamos instalar a edição comunitária docker-ce e o docker-compose que suporta a versão 3 do arquivo compose.
Antes de instalar o docker-ce, instale as dependências do docker necessárias usando o comando apt.
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-commonAgora adicione a chave e o repositório do docker executando os comandos abaixo.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Instale o pacote docker-ce.
sudo apt install docker-ceApós a instalação ser concluída, inicie o serviço docker e habilite-o para iniciar toda vez que o sistema for inicializado.
systemctl start docker
systemctl enable docker
Em seguida, daremos privilégios ao usuário normal para executar e gerenciar contêineres docker.
Adicione um novo usuário chamado ‘mohammad’ e adicione-o ao grupo docker.
useradd -m -s /bin/bash mohammad
usermod -a -G docker mohammadAgora faça login como o usuário ‘mohammad’ e execute o contêiner docker hello-world.
su - mohammad
docker run hello-worldE você obterá o resultado conforme mostrado abaixo.

Passo 2 - Instalar Docker-Compose
Neste passo, vamos instalar o docker-compose manualmente a partir do arquivo binário que pode ser baixado do GitHub. Vamos instalar a versão mais recente do docker-compose que suportará o compose v3.
Baixe a versão mais recente 1.22.0 do docker-compose usando o comando curl para o diretório ‘/usr/local/bin’, e depois torne-o executável usando chmod.
Execute os comandos abaixo.
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeE a versão mais recente do docker-compose foi instalada, verifique executando o comando docker-compose abaixo.
docker-compose versionA seguir está o resultado.

Passo 3 - Configurar Projeto Nodejs Express
Nesta seção, vamos configurar o ambiente da aplicação Nodejs. Vamos usar uma aplicação nodejs simples que pode ser gerada usando o ‘express-generator’.
Faça login como o usuário ‘mohammad’.
su - mohammadCrie um novo diretório chamado ‘project’ e vá para ele.
mkdir -p project
cd projectAgora gere uma aplicação nodejs hello-word simples usando o comando ‘express’ abaixo.
express hakase-appNota:
Certifique-se de que nodejs, npm e os pacotes ‘express-generator’ tenham sido instalados no sistema.
E você obterá a aplicação express nodejs simples no diretório ‘hakase-app’.

Em seguida, vamos construir nossa imagem docker personalizada para a aplicação nodejs ‘hakase-app’.
No diretório ‘project’, crie um novo ‘Dockerfile’ usando vim.
vim DockerfileCole a seguinte configuração da imagem docker lá.
FROM node:8.11.4-alpine
RUN mkdir -p /src
RUN npm install express-generator -g
WORKDIR /src
ADD hakase-app/package.json /src/package.json
RUN npm install
EXPOSE 3000
CMD node hakase-app/bin/wwwSalve e saia.

Estamos criando uma nova imagem docker personalizada para nossa aplicação nodejs com as especificações abaixo.
- A imagem personalizada é baseada na imagem oficial do nodejs versão 8.11.4 alpine.
- Estamos criando um novo diretório para nosso projeto ‘/src’.
- Instale o ‘express-generator’ na imagem personalizada.
- Adicione o arquivo ‘package.json’ que contém o perfil da aplicação e os pacotes necessários ao diretório ‘/src’.
- Instale todos os pacotes nodejs necessários para o projeto, com base no arquivo ‘package.json’.
- Exporte a porta 3000 com o comando de execução padrão ‘node hakase-app/bin/www’.
Em seguida, vamos construir a imagem personalizada com base no script docker-compose.
Crie um novo arquivo yml ‘docker-compose.yml’ usando vim.
vim docker-compose.ymlCole a seguinte configuração lá.
version: '3'
services:
hakase-app:
build: .
volumes:
- ./hakase-app:/src/hakase-app
ports:
- "3000:3000"
restart: alwaysSalve e saia.

Estamos criando um novo serviço docker chamado ‘hakase-app’, e ao mesmo tempo estamos construindo a imagem docker personalizada com base no ‘Dockerfile’ no diretório do projeto e montaremos automaticamente os arquivos da aplicação hakase-app.
A configuração do Nodejs Express foi concluída.
Passo 4 - Construir e Executar o Projeto
Faça login como o usuário ‘mohammad’ e vá para o diretório ‘project’
su - mohammad
cd project/Construa a imagem e crie o serviço docker hakase-app usando o comando docker-compose abaixo.
docker-compose buildAgora você obterá o resultado conforme mostrado abaixo.

E quando estiver completo, execute o serviço docker ‘hakase-app’.
docker-compose up -dA seguir está o resultado.

A imagem docker personalizada para nossa aplicação Nodejs foi criada, e o serviço docker hakase-app está em execução.
Passo 5 - Testando
Mostre a imagem docker disponível no servidor.
docker-compose images
docker images
Uma nova imagem docker personalizada para nossa aplicação Nodejs foi criada.
Mostre o serviço docker em execução.
docker-compose ps
docker psA aplicação Nodejs está em execução na porta 3000 do host.
Abra o navegador da web e digite o endereço IP do servidor com a porta.
E você obterá a página express simples.
Dockerizando a aplicação Nodejs Express no Ubuntu 18.04 foi concluído com sucesso.
Referência
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.