Menu Docs
Página inicial do Docs
/ /

Tutorial: Implemente uma aplicação Firefly nos aplicativos Azure Container

Este tutorial mostra como containerizar um aplicação Frasco que usa o MongoDB Atlas e implantá-lo nos Aplicativos de Container do Azure. O Azure Container Apps é uma plataforma sem servidor que simplifica a implantação e o gerenciamento de aplicativos em contêiner sem a necessidade de gerenciar a infraestrutura.

Este tutorial mostra como concluir as seguintes tarefas:

  • Verifique os pré-requisitos

  • Configurar o aplicação Frasco

  • Criar um Dockerfile

  • Criar um Registro de Contêiner do Azure

  • Construa e envie a imagem do Docker

  • Criar e distribuir a aplicação Azure Container

1

Antes de começar, cumpra os seguintes pré-requisitos:

  • Criar um aplicação Spark e MongoDB a partir do repositório do GitHub

  • Instalar o Docker Desktop

  • Instale o Microsoft Azure

  • Instale o Python 3.9 ou posterior

  • Instale o Postman Desktop ou outra ferramenta de teste de API

Este tutorial também requer uma conta do MongoDB Atlas com um cluster ativo e uma assinatura do Microsoft Azure.

2

Clone o repositório de aplicação Flusk executando o seguinte comando:

git clone https://github.com/mongodb-developer/atlas-flask-azure-demo

Utilizando a interface do usuário do Atlas , crie uma coleção books em um banco de dados denominado bookshelf. Crie alguns documentos na coleção, usando os seguintes documentos de amostra como guia:

{
"book": "The Great Gatsby",
"pages": 180,
},
{
"book": "Slaughterhouse-Five",
"pages": 215,
},
{
"book": "If Beale Street Could Talk",
"pages": 197,
}

Para iniciar o aplicação, navegue até seu diretório de trabalho e execute o seguinte comando:

flask run

Use seu navegador ou ferramenta de teste de API para acessar o endpoint /books e recuperar os documentos criados.

3

Um Dockerfile contém comandos para construir uma imagem Docker. Crie um arquivo denominado Dockerfile em seu diretório de trabalho e adicione o seguinte conteúdo a ele:

FROM python:3.9-slim-buster
WORKDIR /azurecontainerappsdemo
COPY ./config/requirements.txt /azurecontainerappsdemo/
RUN pip install -r requirements.txt
COPY . /azurecontainerappsdemo/
ENV FLASK_APP=app.py
EXPOSE 5000
CMD ["flask", "run", "--host=0.0.0.0"]

Mova seu arquivo requirements.txt para uma nova pasta chamada config para garantir que o Docker possa localizá-lo e copiá-lo durante o processo de construção.

Este Dockerfile executa as seguintes tarefas:

  • Utiliza python:3.9-slim-buster como a imagem base

  • Define o diretório de trabalho

  • Copia e instala dependências do Python

  • Copia arquivos do aplicação

  • Expõe a porta 5000

  • Configura o Frasco para aceitar conexões de qualquer interface de rede

Adicione o seguinte código na parte inferior do seu arquivo app.py para garantir que o Spark seja executado em todas as interfaces de rede:

if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)

Você pode verificar se sua imagem do Docker funciona localmente antes de implantar no Azure. Construa a imagem executando o seguinte comando:

docker build --tag azurecontainerappsdemo .

Em seguida, execute o container com sua string de conexão do MongoDB executando o seguinte comando:

docker run -d -p 5000:5000 -e "CONNECTION_STRING=<MONGODB_ATLAS_URI_STRING_HERE>" azurecontainerappsdemo

Após o container estar em execução, acesse o aplicação em http://localhost:5000 no seu navegador.

4

Inicie sessão no portal do Azure e navegue até ao serviço de Registo de Container. Clique em Create e especifique as seguintes configurações para seu registro:

  • Grupo de Recursos: O nome do seu grupo de recursos

  • Nome do registro: serve como sua URL de login

  • Localização: o local do seu registro

Observação

Você deve usar os mesmos valores de Grupo de recursos e Localização ao criar seu aplicativo de container.

Clique em Review and Create.

Após a conclusão da implantação, abra o código do Visual Studio. Certifique-se de instalar a extensão Docker.

Navegue até Registries, entre na sua conta do Azure e conecte seu registro.

Entre no seu Registro de Contêiner do Azure executando o seguinte comando:

docker login <azure registry url>

Dica

Você pode encontrar seu nome de usuário e senha na seção Access Keys do seu Registro de Contêiner. Habilite Admin Access para visualizar as credenciais.

Importante

Se você usa Windows, clique com o botão direito do mouse para colar as credenciais no terminal e evitar erros.

5

Conclua as etapas a seguir para criar sua imagem do Docker e enviá-la por push para o Registro de Contêineres do Azure. Selecione a aba que corresponde ao seu sistema operacional e arquitetura:

Instale o Buildx executando o seguinte comando:

docker buildx install

Habilite o Buildx executando o seguinte comando:

docker buildx create --use

Construa a imagem para a plataforma linux/amd64 executando o seguinte comando:

docker buildx build --platform linux/amd64 --t <azure registry url>/<image name>:<image tag> --output type=docker .

Envie a imagem para seu Registro de Contêiner do Azure executando o seguinte comando:

docker push <azure registry url>/<image name>:<image tag>

Construa a imagem executando o seguinte comando:

docker build --t <azure registry url>/<image name>:<image tag> --output type=docker .

Envie a imagem executando o seguinte comando:

docker push <azure registry url>/<image name>:<image tag>

Construa a imagem executando o seguinte comando:

docker build --t <azure registry url>/<image name>:<image tag> .

Envie a imagem executando o seguinte comando:

docker push <image name>:<image tag>

Para verificar se o push foi bem-sucedido, navegue até o Registro de Contêineres no portal do Azure e clique em Repositories para visualizar sua imagem.

6

Navegue até o serviço de aplicativos de contêiner no portal do Azure e clique em Create.

Na seção Basics, defina as seguintes configurações para seu aplicativo de container:

  • Assinatura: Sua assinatura do Azure

  • Grupo de recursos: o mesmo grupo de recursos que você usou para o Registro de Contêiner

  • Nome do aplicativo no container

  • Região: a mesma região usada para o Registro de Contêiner

Importante

Se este é seu primeiro aplicativo de contêiner, crie um ambiente ao criar o aplicativo. Um ambiente de aplicação em container cria um limite seguro para aplicações em container na mesma rede virtual.

Defina as seguintes configurações na seção App Settings :

  • Desmarcar Use quickstart image

  • Selecione Azure Container Registry como fonte de imagem

  • Insira suas informações de registro, imagem e tag

Adicione sua string de conexão do MongoDB Atlas como uma variável de ambiente CONNECTION_STRING chamada.

Habilite a entrada e defina as seguintes configurações de entrada:

  • Tráfego de entrada: aceitando tráfego de qualquer lugar

  • Tipo de entrada: HTTP

  • Transporte: Auto

  • Conexões inseguras: permitidas

  • Porta de destino: 5000

Clique em Review and Create. Após a conclusão da implantação, clique em Go to Resource e, em seguida, clique em Application URL para acessar seu aplicação implantado.

Anexe /books à URL para visualizar os livros que você adicionou anteriormente do seu banco de dados MongoDB Atlas .

Para visualizar o código completo deste tutorial, consulte o repositório azurecontainerappdemo no GitHub.

Para saber mais sobre os aplicativos de container do Azure, consulte a documentação dos aplicativos de container do Azure no site da Microsoft.

Voltar

Tutorial: Testar e embalar uma biblioteca Python

Nesta página