Skip to content
This repository has been archived by the owner on Dec 28, 2022. It is now read-only.

Draft: Adicionando Docker ao projeto #23

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

DevRadhy
Copy link

@DevRadhy DevRadhy commented Oct 5, 2021

O que foi feito?

Foi adicionando os seguintes arquivos ao projeto:

  • Dockerfile
  • .dockerignore

DockerFile:

# Puxando imagem alpine do Node.js e marcando como stage de build
FROM node:alpine AS build

# Definindo um diretório para o projeto
WORKDIR /usr/app

# Criando uma label name para a stage de build
LABEL name="buid"

# Copiando arquivos essenciais do projeto local para o WORKDIR
COPY package*.json ./
COPY tsconfig*.json ./

# Instalando todas as dependências
RUN npm install

# Copiando todos os arquivos do projeto local para o WORKDIR (menos os presente em .dockerignore)
COPY . .

# Fazendo o buid do projeto na stage de build
RUN npm run build

# Iniciando outra stage com a imagem alpine do Node.js, e marcando com stage de produção
FROM node:alpine AS production

# Definindo diretório para o projeto
WORKDIR /usr/app

# Criando uma label name para a stage de produção
LABEL name="production"

# Copiando arquivos essenciais para produção, do projeto local para a stage de produção
COPY package*.json ./

# Instalando somente as dependências presente em dependencies no package.json
RUN npm install --production

# Copiando a pasta gerada com o build do projeto, da stage de build
COPY --from=build /usr/app/dist ./dist

# Definindo um comando de inicialização do projeto
ENTRYPOINT [ "npm", "run", "start:prod" ]

O que precisa ser feito?

  • Criar docker-compose.yml, para definir serviços do projeto
  • Expor a porta de comunicação do projeto (pode ser feito pelo docker-compose.yml)

@DevRadhy DevRadhy added the enhancement New feature or request label Oct 5, 2021
@DevRadhy DevRadhy linked an issue Oct 5, 2021 that may be closed by this pull request
@RodrigoDornelles RodrigoDornelles removed their request for review October 5, 2021 14:24
Copy link
Member

@vcwild vcwild left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O multi stage está bem executado! Soube separar dependências dev de prod.
Atualizei a issue de referência com ressalvas sobre o docker-compose.

@vcwild
Copy link
Member

vcwild commented Oct 11, 2021

Faltam resolver dependências no Heroku e Procfile

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HUBAPI - Criar Dockerfile e Docker Compose
2 participants