Criando sua Primeira Aplicação Web com Python e Docker
Hoje vamos fazer algo prático: criar uma aplicação web simples em Python usando Flask e executá-la dentro de um contêiner Docker. Se você não sabe exatamente o que é Docker ou Flask, não se preocupe! Vou explicar tudo de forma simples para que você consiga acompanhar sem problemas.
O que é Docker?
Docker é uma ferramenta que permite empacotar aplicações e suas dependências em contêineres, garantindo que elas funcionem da mesma forma em qualquer ambiente. Em outras palavras, com o Docker, você cria um ambiente isolado e padronizado para rodar suas aplicações.
Como instalar o Docker
- Acesse o site oficial do Docker.
- Baixe e instale a versão apropriada para o seu sistema operacional (Windows, macOS ou Linux).
- Após a instalação, verifique se está tudo funcionando abrindo um terminal e executando:
Se o Docker estiver instalado corretamente, ele vai exibir a versão instalada.docker --version
O que é Flask?
Flask é um microframework para criação de aplicações web em Python. Ele é leve, fácil de usar e ideal para projetos pequenos e médios. Com Flask, você pode criar rapidamente uma aplicação web funcional com poucas linhas de código.
Agora que você sabe o que é Docker e Flask, vamos para a parte divertida: criar sua primeira aplicação!
Passo a Passo: Criando a Aplicação Web
1. Criando o Projeto Flask
Primeiro, crie uma pasta para o projeto e dentro dela, um arquivo chamado app.py
. Esse arquivo vai conter o código da nossa aplicação Flask:
# app.py
from flask import Flask, render_template
app = Flask(__name__)
# Modelo simples
class Pessoa:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
@app.route('/')
def home():
pessoa = Pessoa("Alice", 30)
return f"<h1>Nome: {pessoa.nome}, Idade: {pessoa.idade}</h1>"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
Neste código:
- Criamos uma classe
Pessoa
que representa um modelo simples com nome e idade. - Definimos uma rota
/
que cria uma instância dePessoa
e exibe seu nome e idade em uma página HTML simples. - Chamamos
app.run()
para iniciar o servidor Flask.
2. Criando o Arquivo Dockerfile
O Dockerfile
é o arquivo que instrui o Docker sobre como construir o contêiner da nossa aplicação.
Crie um arquivo chamado Dockerfile
na mesma pasta do app.py
com o seguinte conteúdo:
# Usando a imagem oficial do Python
FROM python:3.9-slim
# Definindo o diretório de trabalho dentro do contêiner
WORKDIR /app
# Copiando o arquivo da aplicação para o contêiner
COPY app.py .
# Instalando o Flask
RUN pip install flask
# Comando para iniciar a aplicação
CMD ["python", "app.py"]
O que estamos fazendo aqui:
- Usamos uma imagem base do Python (versão 3.9).
- Definimos
/app
como diretório de trabalho dentro do contêiner. - Copiamos o arquivo
app.py
para o contêiner. - Instalamos o Flask usando
pip install
. - Definimos o comando padrão para rodar a aplicação (
python app.py
).
3. Criando o Arquivo docker-compose.yml (Opcional)
Para facilitar a execução, podemos criar um arquivo docker-compose.yml
com a seguinte configuração:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
Esse arquivo instrui o Docker Compose a construir a imagem usando o Dockerfile
e expor a aplicação na porta 5000.
4. Construindo e Executando a Aplicação
Agora que temos tudo configurado, vamos construir e executar a aplicação.
-
Construir a imagem: No terminal, navegue até a pasta do projeto e execute:
docker build -t flask-app .
Isso vai criar uma imagem Docker chamada
flask-app
. -
Executar o contêiner:
docker run -p 5000:5000 flask-app
A aplicação estará acessível em http://localhost:5000.
Se você optou por usar o docker-compose
, basta executar:
docker-compose up
Conclusão
Com poucos passos, você criou uma aplicação web em Python usando Flask e a executou em um contêiner Docker. Isso é apenas o começo! A partir daqui, você pode adicionar funcionalidades, melhorar o front-end ou integrar um banco de dados.
Se você nunca trabalhou com Docker ou Flask antes, espero que este guia tenha tornado o processo mais claro e divertido. Agora é sua vez de testar e criar suas próprias aplicações!
Este projeto pode ser encontrado aqui.
Comentários
Postar um comentário
Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.