👋 Olá, Seja Bem-vindo(a) ao Containerized Python(conteinerização de scripts em Python).
- 🛠 Modo Desenvolvimento Docker
- 💻 Linux Ubuntu LTS
- 🐳 Docker Deve estar instalado.
- 🐳 Docker Compose Deve estar instalado.
- 💡 Dica: Documentação do 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 o arquivo server.py com o seguinte conteúdo:
from flask import Flask
server = Flask(__name__)
@server.route("/")
def hello():
return "Hello World!"
@server.route("/test_1")
def test_1():
return 'test_1'
if __name__ == "__main__":
server.run(host='0.0.0.0')
- Colocar o arquivo server.py na estrutura abaixo:
app
├─── requirements.txt
└─── src
└─── server.py
- No arquivo requirements.txt adicionar o Flask:
Flask==1.1.1
- Criar o arquivo Dockerfile na pasta app com o seguinte conteúdo:
# set base image (host OS)
FROM python:3.8
# set the working directory in the container
WORKDIR /code
# copy the dependencies file to the working directory
COPY requirements.txt .
# install dependencies
RUN pip install -r requirements.txt
# copy the content of the local src directory to the working directory
COPY src/ .
# command to run on container start
CMD [ "python", "./server.py" ]
- Criar o arquivo docker-compose.yml na pasta app com o seguinte conteúdo:
version: '3.3'
services:
app:
build: .
volumes:
- .:/src
ports:
- "3000:5000"
- Na pasta app connstrua a aplicação no terminal com o comando:
docker-compose build
- Suba o projeto no terminal com o comando:
docker-compose up
- 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 uma simples aplicação Flask + Docker via docker-compose, caso haja dúvidas acesse as Referências utilizadas.