Como dockerizar um aplicativo de frasco

Como dockerizar um aplicativo de frasco

Neste tutorial, você aprenderá a criar um aplicativo básico de Flask com Docker. Você configurará seu aplicativo com um Dockerfile e gerenciará as imagens com um processo de construção automatizado.

Nesse processo, você também aprenderá a usar vários ambientes virtuais do Python e manter seu código -fonte organizado. Se você é novo no Python ou Flask, convém conferir nosso guia para iniciantes para Python, bem como nosso guia para iniciantes para Flash primeiro. Eles cobrem o básico dessas estruturas para que você possa acompanhar melhor neste tutorial. Vamos começar!

O que é Flask?

Flask é uma estrutura leve Python para criar aplicativos da Web. É simples, flexível e pragmático. Pode ser facilmente estendido com o uso de extensões e plug-ins. O frasco pode ser usado para criar sites pequenos ou aplicativos complexos em larga escala.

O Flask é usado por empresas como Pinterest, Twitter, Walmart e Cisco. Um dos usos comuns do frasco é para APIs de repouso que são usadas para interagir com outros sistemas. As aplicações escritas em frasco também podem ser facilmente implantadas em um servidor ou em uma nuvem.

Crie um aplicativo básico de frasco

Antes de criar uma imagem do Docker com seu aplicativo, você deve ter um aplicativo básico que possa executar localmente ou em um servidor.

Nesta seção, você criará um aplicativo básico com frasco e depois o executará em um contêiner do Docker. Você pode usar seu editor preferido para criar o aplicativo ou usar o seguinte comando em seu terminal para criar um novo aplicativo:

  1. Vamos começar com a criação de um novo diretório:
    mkdir Flask-App && Flask-App  
  2. Em seguida, crie o ambiente virtual do Python e depois ative o ambiente.
    python3 -m venv venv  fonte VENV/BIN/ativação  
  3. Agora instale o módulo Python Flask sob o ambiente virtual.
    Flask de instalação pip  
  4. O comando abaixo criará os requisitos.Arquivo TXT com os pacotes instalados no ambiente atual. Este arquivo é útil para instalar o módulo em implantações.
    Congelamento PIP> Requisitos.TXT  
  5. Agora, crie um aplicativo de frasco de amostra ... você pode escrever seu código em um .arquivo py e execute -o com o comando python.
    App Vim.py  

    Adicione o snipp abaixo.

    # Importar módulo de frasco do Flask Importar Flask App = Flask (__ nome__) @app.Route ('/') Def Index (): Retornar 'Hello to Flask!' # Função do driver principal se __name__ == "__main__": App.correr()
    123456789101112# Importar Flask ModuleFrom Flask Importar Flask App = Flask (__ nome__) @app.Route ('/') Def Index (): Retornar 'Hello to Flask!# # driver principal functionif __name__ == "__main__": app.correr()

  6. Seu aplicativo de frasco de amostra está pronto. Você pode executar este script com python agora.
    Flask Run -Host 0.0.0.0 --Port 5000  
    Aplicação de frasco em execução na linha de comando

Agora que você tem um aplicativo básico, pode executá -lo em um contêiner do docker criando um arquivo chamado Dockerfile no mesmo diretório que seu aplicativo.arquivo py.

Crie um DockerFile para o seu aplicativo de frasco

Um DockerFile é um arquivo que contém instruções sobre como construir sua imagem. Ele descreve todo o processo de construção de sua imagem a partir da instalação do seu aplicativo Python para a criação do seu contêiner.

  1. Vamos criar um arquivo chamado Dockerfile no diretório do projeto. Este é o arquivo do docker lê instruções para criar imagem.
    vim dockerfile  

    Adicione o seguinte código:

    De Python: 3-alpine # Criar diretório de aplicativos WorkDir /App # Instalar dependências de aplicativos Requisitos de cópia.TXT ./ Run Pip Install -R Requisitos.TXT # Bundle App Fonte Cópia… Exponha 5000 cmd ["Flask", "Run", "-Host", "0.0.0.0 ","-porta "," 5000 "] 

    Salve o arquivo e feche-o.

  2. Em seguida, crie a imagem do Docker executando o comando abaixo mencionado. Aqui "Flask-App" é o nome da imagem.
    Docker Build -t Flask -App .  
  3. Esta imagem será criada no registro de imagem local. Então você pode criar um contêiner do Docker com o seguinte comando.
    Sudo Docker Run -it -P 5000: 5000 -D Flask -App  
  4. Agora, verifique se o contêiner está executando em seu sistema.
    Contêineres do Docker LS  

  5. Finalmente, abra um navegador e conecte -se a LocalHost na porta 5000 (ou use sua própria porta definida). Você deve ver o aplicativo de frasco.

Você pode usar um DockerFile para automatizar o edifício e atualizar sua imagem. Isso é útil se você estiver trabalhando com uma equipe e as pessoas estão adicionando código ao mesmo aplicativo.

Conclusão

Neste tutorial, você aprendeu a criar um aplicativo básico de Flask e construir uma imagem do Docker com ele. Você também aprendeu a criar um registro privado e automatizar o edifício e a atualização da sua imagem. Esta é uma ótima maneira de criar imagens reprodutíveis de compilações e contêineres que são fáceis de compartilhar e implantar. Isso pode ser útil se você precisar configurar servidores ou se desejar executar seu aplicativo em diferentes máquinas.