CodeGym /Cursos /Docker SELF /Criando um Dockerfile para cada serviço

Criando um Dockerfile para cada serviço

Docker SELF
Nível 23 , Lição 2
Disponível

3.1 Criando o Dockerfile para o frontend (ReactJS)

Neste ponto, vamos criar um Dockerfile para cada um dos três serviços do nosso aplicativo multi-container: o frontend em ReactJS, o backend em Python (Flask) e o banco de dados PostgreSQL. O Dockerfile define as instruções para criar a imagem Docker para cada serviço.

Crie o arquivo Dockerfile no diretório frontend:

Terminal

cd frontend
touch Dockerfile

Conteúdo do Dockerfile para o frontend:

Terminal

# Usando a imagem base node
FROM node:14

# Configurando o diretório de trabalho
WORKDIR /app

# Copiando package.json e package-lock.json para instalar as dependências
COPY package*.json ./

# Instalando as dependências
RUN npm install

# Copiando os outros arquivos do projeto
COPY . .

# Configurando a porta 3000
EXPOSE 3000

# Inicializando o app
CMD ["npm", "start"]

Este Dockerfile executa os seguintes passos:

  1. Usa a imagem base node:14.
  2. Configura o diretório de trabalho /app.
  3. Copia os arquivos package.json e package-lock.json.
  4. Instala as dependências com npm install.
  5. Copia todos os arquivos do projeto para o diretório de trabalho.
  6. Abre a porta 3000 para acessar o app.
  7. Inicializa o app usando npm start.

3.2 Criando um Dockerfile para o backend (Flask)

Cria o arquivo Dockerfile no diretório backend:

Terminal

cd backend
touch Dockerfile

Conteúdo do Dockerfile para o backend:

dockerfile

# Usando a imagem base do python
FROM python:3.12

# Configurando o diretório de trabalho
WORKDIR /app

# Copiando o requirements.txt pra instalar as dependências
COPY requirements.txt ./

# Instalando as dependências
RUN pip install --no-cache-dir -r requirements.txt

# Copiando os outros arquivos do projeto
COPY . .

# Definindo a porta 5000
EXPOSE 5000

# Rodando o app
CMD ["python", "run.py"]

Esse Dockerfile faz as seguintes ações:

  1. Usa a imagem base python:3.12.
  2. Configura o diretório de trabalho /app.
  3. Copia o arquivo requirements.txt.
  4. Instala as dependências usando pip install.
  5. Copia todos os arquivos do projeto para o diretório de trabalho.
  6. Abre a porta 5000 para acessar o app.
  7. Roda o app usando python run.py.

3.3 Criando um Dockerfile para o banco de dados (PostgreSQL)

Para o banco de dados PostgreSQL, a gente vai usar a imagem oficial, então criar um Dockerfile próprio não é necessário. Em vez disso, a gente vai configurar o PostgreSQL usando o docker-compose.yml.

3.4 Build e teste das imagens do Docker

Depois de criar o Dockerfile para o frontend e backend, é importante testar o build deles.

Build da imagem Docker para o frontend:

Terminal

cd frontend
docker build -t task_management_frontend .

Build da imagem Docker para o backend:

Terminal

cd ../backend
docker build -t task_management_backend .

Verificando o funcionamento dos containers:

Rodando o container do frontend:

Terminal

docker run -p 3000:3000 task_management_frontend

Rodando o container do backend:

Terminal

docker run -p 5000:5000 task_management_backend

Acesse o endereço http://localhost:3000 para verificar o frontend e http://localhost:5000 para verificar o backend.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION