Skip to content

claudimf/containerized_python_web_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Containerized Python Web App(conteinerização de aplicação Web em Python)

👋 Olá, Seja Bem-vindo(a) ao Containerized Python Web App(conteinerização de aplicação Web em Python).

Exigências

⚠️ Atenção: É necessário que os desenvolvedores usem o Docker no seu ambiente de desenvolvimento.

Instalando

🐳 Modo Desenvolvimento com Docker

Após instalar o docker e docker-compose, estando na pasta raiz do projeto, execute:

docker-compose up

Para se certificar que os seus containers subiram corretamente, todos os containers deve estar com o status UP, execute:

docker-compose ps -a

Para acessar o container da aplicação, execute:

docker-compose run --rm app bash

Para derrubar e subir a instância do docker novamente, execute:

docker-compose down && docker-compose up

🚀 👏 Para visualizar o sistema basta acessar no navegador no endereço: localhost:3000

Criar a aplicação

  1. Criar a estrutura abaixo de diretórios e arquivos:
Project
├─── web
| └─── Dockerfile
├─── app
│ ├─── Dockerfile
│ ├─── requirements.txt
│ └─── src
│ └─── server.py
└─── db
  └─── password.txt
  1. Confira aqui o que a configuração do arquivo server.py com o seguinte conteúdo:

  2. No arquivo requirements.txt adicionar o Flask e o MySql Connector:

Flask==1.1.1
mysql-connector==2.2.9
  1. Criar o arquivo Dockerfile na pasta app com o seguinte conteúdo:
FROM python:3.8-alpine
WORKDIR /src
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY ./src /src
EXPOSE 5000
CMD python server.py
  1. Na pasta app connstrua a aplicação no terminal com o comando:
docker-compose build
  1. Suba o projeto no terminal com o comando:
docker-compose up
  1. Para testar acesse as rotas:

Pronto a aplicação de teste está de pé, para derrubar use o comando:

docker-compose down

Espero que tenha conseguido subir a aplicação Flask + Docker via docker-compose, caso haja dúvidas acesse as Referências utilizadas.

Referências utilizadas

1° Conteinerização de scripts em Python

2° Containerized Python Development – Part 2

3° Containerized Python Development – Part 3

4° Project sample