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

  1. Instalar Docker CE
  2. Instalar Docker-Compose
  3. Configurar Projeto Nodejs Express
  4. Construir o Projeto
  5. 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-common

Agora 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"

Instalar Docker

Instale o pacote docker-ce.

sudo apt install docker-ce

Apó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

Iniciar 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 mohammad

Agora faça login como o usuário ‘mohammad’ e execute o contêiner docker hello-world.

su - mohammad  
docker run hello-world

E você obterá o resultado conforme mostrado abaixo.

Adicionar usuário e testar o usuário

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-compose

E a versão mais recente do docker-compose foi instalada, verifique executando o comando docker-compose abaixo.

docker-compose version

A seguir está o resultado.

Instalar Docker Compose

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 - mohammad

Crie um novo diretório chamado ‘project’ e vá para ele.

mkdir -p project  
cd project

Agora gere uma aplicação nodejs hello-word simples usando o comando ‘express’ abaixo.

express hakase-app

Nota:

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’.

Instalar Projeto Nodejs Express

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 Dockerfile

Cole 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/www

Salve e saia.

Usar npm para instalar aplicação

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.yml

Cole a seguinte configuração lá.

version: '3'

services:

  hakase-app:
    build: .
    volumes:
      - ./hakase-app:/src/hakase-app
    ports:
      - "3000:3000"
    restart: always

Salve e saia.

Criar arquivo yml do docker compose

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 build

Agora você obterá o resultado conforme mostrado abaixo.

Construir projeto docker

E quando estiver completo, execute o serviço docker ‘hakase-app’.

docker-compose up -d

A seguir está o resultado.

Usar docker-compose up

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

Mostrar imagem docker disponível

Uma nova imagem docker personalizada para nossa aplicação Nodejs foi criada.

Mostre o serviço docker em execução.

docker-compose ps  
docker ps

A 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.

http://10.0.15.2:3000/

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

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.