From 3420dddb1a124dc435d6bb0e882336de145e3699 Mon Sep 17 00:00:00 2001 From: renataleal335 Date: Thu, 3 Jul 2025 16:57:50 -0300 Subject: [PATCH 1/4] feat: create Dockerfile --- Dockerfile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..125f5f9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM python:3.13.4-alpine3.22 + +# Define o diretório de trabalho +WORKDIR /app + +# Copia o arquivo de requirements +COPY requirements.txt . + +# Instala as dependências +RUN pip install --no-cache-dir -r requirements.txt + +# Copia o código da aplicação +COPY . . + +# expoe a porta 8000 +EXPOSE 8000 + +# define o comando de execução +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file From 1d5682dc8b42398bbdaadaf21867dd8c900c8481 Mon Sep 17 00:00:00 2001 From: renataleal335 Date: Sun, 6 Jul 2025 14:30:35 -0300 Subject: [PATCH 2/4] feat: create dockerignore --- .dockerignore | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..95d0532 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,56 @@ +# Dependências que podem ser recriadas +node_modules/ +venv/ +__pycache__/ +.pytest_cache/ +.npm/ +.cache/ + +# Arquivos de controle de versão +.git/ +.gitignore +.gitattributes + +# Arquivos de desenvolvimento +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# Arquivos de configuração local e secrets +.env +.env.local +.env.development +.env.staging +*.pem +*.key +config/local.json + +# Logs e arquivos temporários +*.log +*.tmp +*.temp +logs/ +tmp/ + +# Arquivos de build local (devem ser buildados no container) +dist/ +build/ +target/ +out/ + +# Arquivos de documentação (opcional) +README.md +docs/ +*.md + +# Arquivos de teste +coverage/ +.nyc_output/ +test-results/ + +# Arquivos do sistema operacional +.DS_Store +Thumbs.db +desktop.ini \ No newline at end of file From d0f1b323b0ea6f8563af33080f75f6f0fe8d9c19 Mon Sep 17 00:00:00 2001 From: renataleal335 Date: Sun, 6 Jul 2025 14:57:26 -0300 Subject: [PATCH 3/4] fix: fix dockeerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 125f5f9..121f78d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,4 +16,4 @@ COPY . . EXPOSE 8000 # define o comando de execução -CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file +CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file From 1cbb871f26715abb7812a7386636230866bb9868 Mon Sep 17 00:00:00 2001 From: renataleal335 Date: Sun, 6 Jul 2025 15:36:57 -0300 Subject: [PATCH 4/4] feat: add docker-compose --- docker-compose.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..1892a52 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +services: + app: + build: . #construir a imagem a partir do Dockerfile o ponto está mencionando o diretório atual + container_name: api-test #nome do container + ports: + - 8000:8000 #mapear a porta 8000 do container para a porta 8000 do host conforme definido no Dockerfile com expose 8000 e CMD + volumes: + - .:/app #mapear o diretório atual para o container - conforme voce altera o código, o conteudo do diretório atual é refletido no container sem precisar ficar atualizando manualmente a cada alteração + \ No newline at end of file