Introdução ao FastAPI – Dockerizando sua aplicação e integrando o PostgreSQL | Aula 10

Posted by


Neste tutorial, vamos aprender como dockerizar nossa aplicação FastAPI e integrar um banco de dados PostgreSQL. Este curso é a 10ª aula de uma série destinada a ensinar o uso do FastAPI para construir APIs RESTful.

Para começar, é importante ter o Docker instalado em seu sistema. Caso não possua, você pode baixar e instalar a partir do site oficial do Docker (https://docs.docker.com/get-docker/).

Vamos começar criando um arquivo Dockerfile na raiz do nosso projeto. Este arquivo será responsável por definir as configurações necessárias para a nossa aplicação ser executada em um container Docker. Aqui está um exemplo simples de um Dockerfile para uma aplicação FastAPI:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8

WORKDIR /app

COPY ./app /app

RUN pip install SQLAlchemy asyncpg

EXPOSE 80

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]

Neste Dockerfile, estamos utilizando a imagem tiangolo/uvicorn-gunicorn-fastapi como nossa imagem base, que já possui as dependências necessárias para executar uma aplicação FastAPI. Em seguida, definimos o diretório de trabalho como /app, copiamos os arquivos da nossa aplicação para dentro do container, instalamos as dependências do banco de dados PostgreSQL (SQLAlchemy e asyncpg), expomos a porta 80 e definimos o comando que será executado para iniciar a aplicação.

Agora precisamos criar um arquivo docker-compose.yml para facilitar a execução do nosso container. Aqui está um exemplo de um arquivo docker-compose.yml para nossa aplicação:

version: '3'

services:
  app:
    build: .
    ports:
      - "8000:80"
    environment:
      - POSTGRES_URL=postgresql://postgres:password@db/postgres
    depends_on:
      - db

  db:
    image: postgres
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_DB: postgres

Neste arquivo docker-compose.yml, estamos definindo dois serviços: app e db. O serviço app será construído a partir do Dockerfile presente na raiz do projeto, mapeamos a porta 80 do container para a porta 8000 do nosso host, definimos a URL de conexão com o banco de dados PostgreSQL no ambiente da aplicação e configuramos a dependência do serviço db.

O serviço db utiliza a imagem oficial do PostgreSQL, definimos as variáveis de ambiente necessárias para configurar o banco de dados.

Agora, podemos construir e iniciar nossos containers executando o comando docker-compose up --build na raiz do nosso projeto. Isso irá construir a imagem da nossa aplicação e iniciar os containers do app e do db.

Após a conclusão, você poderá acessar a sua aplicação FastAPI em http://localhost:8000 e verificar se a integração com o banco de dados PostgreSQL está funcionando corretamente.

Este tutorial ensinou como dockerizar uma aplicação FastAPI e integrar um banco de dados PostgreSQL. Espero que você tenha encontrado útil e aprendido algo novo. Obrigado por acompanhar esta série de tutoriais sobre FastAPI e Docker. Até a próxima aula!

0 0 votes
Article Rating

Leave a Reply

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@01bit
1 day ago

Nem curso pago ensina com essa didática, dunossauroLibre

@Pedro_Nora
1 day ago

Sempre superando as expectativas! Aulas sensacionais e conteúdo esmiuçado! Valeu! Ajudando muito!

2
0
Would love your thoughts, please comment.x
()
x