Frasco Python no Docker

Frasco Python No Docker



Neste tutorial, aprenderemos como conteinerizar um aplicativo Python Flask usando Docker.

A conteinerização é um recurso épico que permite aos desenvolvedores empacotar um aplicativo junto com as dependências necessárias em uma única unidade. Podemos então mover o contêiner e implantar o aplicativo em ambientes sem precisar nos preocupar com compatibilidade.

O que é frasco?

Flask é um micro framework web minimalista e leve para Python. Ele fornece os recursos e bibliotecas essenciais necessários para construir o aplicativo da web leve usando a linguagem Python.







Flask segue o padrão Web Server Gateway Interface ou WSGI que nos permite incorporar um design minimalista com um padrão flexível que pode lidar com a solicitação HTTP e outros recursos. Por exemplo, Flask oferece suporte a recursos da web, como roteamento, bancos de dados e muito mais.



Pré-requisitos:

Para acompanhar o código e os comandos fornecidos neste tutorial, certifique-se de ter as seguintes ferramentas:



  1. Intérprete Python instalado em sua máquina (versão 3.11 e superior é recomendada)
  2. Mecanismo Docker instalado na máquina host (versão 23 e superior é recomendada)
  3. Um editor de texto ou IDE de sua preferência

Com os requisitos fornecidos atendidos, podemos prosseguir com este tutorial.





Crie o aplicativo Flask

Como você pode imaginar, a primeira etapa é criar o aplicativo Python que desejamos colocar em contêiner. Para o nosso caso, demonstramos isso com um aplicativo minimalista que imprime “olá mundo”.

Crie um novo diretório para armazenar o código-fonte do seu projeto e crie um arquivo Python chamado “app.py”.



Edite o “app.py” com seu editor de texto ou IDE favorito e adicione o código para sua aplicação da seguinte forma:

de frasco importar Frasco

aplicativo = Frasco ( __nome__ )
@ aplicativo. rota ( '/' )
definição Olá Mundo ( ) :
retornar '

Olá, mundo!

'

Crie um Dockerfile

A seguir, precisamos definir as instruções que nos permitem empacotar a aplicação como uma imagem Docker. Usamos o Dockerfile que contém todas as instruções e ferramentas para configurar a imagem.

No mesmo diretório de “hello.py”, crie um novo arquivo chamado “Dockerfile” sem extensão. Execute o seguinte comando:

$ toque Dockerfile

Edite o arquivo e adicione o código da seguinte forma:

Use a imagem oficial do Python como imagem base.

DE python: 3.12 -rc-slim
WORKDIR /aplicativo
CÓPIA DE . /aplicativo
#Instalar o frasco
EXECUTAR pip install --no-cache- você -r requisitos. TXT
# Exponha a porta 5000 para o aplicativo Flask
EXPOR 5.000
#executa a aplicação Flask
DMC [ 'Pitão' , 'aplicativo.py' ]

O Dockerfile anterior executa as seguintes operações:

  • Usa a imagem slim oficial do Python 3.12 como imagem base
  • Define o diretório de trabalho dentro do contêiner como “/app”
  • Copia o conteúdo do diretório do projeto para o contêiner
  • Instala o Flask e quaisquer outras dependências executando “pip install” usando o arquivo “requirements.txt”
  • Expõe a porta 5000 para o aplicativo Flask
  • Define o comando para executar o aplicativo Flask

Certifique-se de que o arquivo “requirements.txt” exista no diretório do projeto e adicione o conteúdo do arquivo conforme mostrado a seguir:

Frasco == 2.3.3

Neste caso, especificamos que desejamos instalar o Flask versão 2.3.3.

Construir a imagem Docker

Agora que temos o aplicativo Flask e o Dockerfile prontos, podemos prosseguir e construir a imagem com o seguinte comando:

docker build -t flask-docker-app.

Certifique-se de estar no diretório do projeto antes de executar o comando anterior. Você pode substituir flask-docker-app pelo nome que deseja atribuir à sua imagem.

Execute o contêiner Docker

Com a imagem Docker construída, podemos executar o contêiner com base na imagem usando o comando “docker run” da seguinte forma:

janela de encaixe execute -p 5.000 : 5.000 flask-docker-app

Isso deve criar um contêiner e mapear a porta 5000 do contêiner para a porta 5000 no sistema host.

Uma vez executado, abra o navegador e navegue até http://localhost:5000 .

Você deverá ver a mensagem “Olá, mundo!” mensagem do aplicativo Flask.

Conclusão

Neste tutorial, você aprendeu como conteinerizar um aplicativo Python Flask simples usando Docker.