Este projeto é um conversor de distância, desenvolvido com Flask e empacotado em um container Docker para fácil execução.
Este código foi originalmente desenvolvido por Fabricio Veronez. Este repositório é baseado no trabalho dele.
Antes de começar, certifique-se de ter os seguintes requisitos instalados:
- Git
- Docker
git clone https://github.com/alissonam/docker-challenge-distance-converter.git
cd docker-challenge-distance-converter
Para construir a imagem do container, execute o seguinte comando dentro do diretório do projeto:
docker build -t distance-converter .
Após a construção da imagem, execute o container com o comando:
docker run -d -p 5000:5000 --name distance-converter-app distance-converter
Este comando inicia o container em modo desacoplado (-d) e mapeia a porta 5000 do host para a porta 5000 do container.
Para facilitar a inicialização do projeto, foi adicionado um script start.sh
. Ele verifica se o container já existe e o inicia automaticamente. Para executá-lo, use:
chmod +x start.sh
./start.sh
Se precisar parar a execução do container, utilize:
./stop.sh
Se quiser parar e remover o container, utilize o parâmetro -R
:
./stop.sh -R
Este script agora funciona da seguinte forma:
- Sem parâmetros: Apenas para o container em execução.
- Com
-R
: Para e remove o container, liberando a porta utilizada.
Após executar o container, acesse a aplicação no navegador pelo seguinte endereço:
http://localhost:5000
Se precisar parar apenas o container:
./stop.sh
Se precisar parar e remover o container:
./stop.sh -R
Se precisar remover a imagem do Docker:
docker rmi distance-converter
docker-challenge-distance-converter/
│── app.py # Código principal da aplicação Flask
│── templates/
│ └── index.html # Template HTML para renderização da página
│── Dockerfile # Configuração para criação do container
│── requirements.txt # Dependências do projeto
│── start.sh # Script para iniciar a aplicação automaticamente
│── stop.sh # Script para parar e remover o container (se passado -R)
Desenvolvido por Alisson Machado.
Código original por Fabricio Veronez.