Partilhar via


(PRECADO) Criar imagens de contentores para serem usadas com o Serviço de Contentores Azure

Dica

Para a versão atualizada este tutorial que utiliza Azure Kubernetes Service, consulte Tutorial: Prepare uma aplicação para Azure Kubernetes Service (AKS).

Aviso

O Serviço de Contentores Azure (ACS) está a ser depreciado. Não estão a ser adicionadas novas funcionalidades ou funcionalidades ao ACS. Todas as APIs, experiência do portal, comandos CLI e documentação são marcados como precedidos.

Em 2017, introduzimos Azure Kubernetes Service (AKS) para simplificar a gestão, implantação e operações da Kubernetes. Se utilizar o orquestrador Kubernetes, por favor, emigre para a AKS até 31 de janeiro de 2020. Para começar, consulte migrar para Azure Kubernetes Service.

Para mais informações, consulte o anúncio de depreciação do Serviço de Contentores Azure no Azure.com.

Neste tutorial, a parte um de sete, uma aplicação de contentores múltiplos é preparada para utilização com o Kubernetes. Os passos concluídos incluem:

  • A clonagem de origens das aplicações a partir do GitHub
  • Criar uma imagem de contentor a partir da origem de aplicação
  • Testar a aplicação num ambiente local do Docker

Depois de concluída, a aplicação seguinte fica acessível no seu ambiente de desenvolvimento local.

Image of Kubernetes cluster on Azure

Nos tutoriais subsequentes, a imagem do contentor é carregada para o Azure Container Registry e, em seguida, é executada num cluster do Kubernetes alojado no Azure.

Antes de começar

Este tutorial pressupõe conhecimentos básicos dos principais conceitos do Docker, como contentores, imagens de contentores e comandos simples do Docker. Se for necessário, veja a Introdução ao Docker para obter um manual sobre as noções básicas dos contentores.

Para concluir este tutorial, precisa de um ambiente de desenvolvimento do Docker. O Docker disponibiliza pacotes que o configuram facilmente em qualquer sistema Mac, Windows ou Linux.

O Azure Cloud Shell não inclui os componentes do Docker necessários para concluir todos os passos deste tutorial. Por conseguinte, recomendamos a utilização de um ambiente de desenvolvimento completo do Docker.

Obter o código da aplicação

O exemplo de aplicação neste tutorial é uma aplicação de votos básica. A aplicação consiste num componente Web front-end e uma instância do Redis em back-end. O componente Web é compactado numa imagem personalizada de contentor. A instância do Redis utiliza uma imagem inalterada do Hub do Docker.

Utilize o git para transferir uma cópia da aplicação para o seu ambiente de desenvolvimento.

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

Altere os diretórios para trabalhar a partir do diretório clonado.

cd azure-voting-app-redis

Dentro do diretório estão: o código de origem da aplicação, um ficheiro de composição do Docker e um ficheiro de manifesto do Kubernetes. Estes ficheiros são utilizados em todo o tutorial.

Criar imagens de contentor

O Docker Compose pode ser utilizado para automatizar a compilação de imagens de contentor e a implementação de aplicações com vários contentores.

Execute o ficheiro docker-compose.yml para criar a imagem de contentor, transferir a imagem de Redis e iniciar a aplicação.

docker-compose up -d

Ao concluir, utilize o comando docker images para ver as imagens criadas.

docker images

Repare que foram transferidas ou criadas três imagens. A imagem azure-vote-front contém a aplicação e utilizar a imagem nginx-flask como base. A imagem redis é utilizada para iniciar uma instância do Redis.

REPOSITORY                   TAG        IMAGE ID            CREATED             SIZE
azure-vote-front             latest     9cc914e25834        40 seconds ago      694MB
redis                        latest     a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask   flask      788ca94b2313        9 months ago        694MB

Execute o comando docker ps para ver os contentores em execução.

docker ps

Resultado:

CONTAINER ID        IMAGE             COMMAND                  CREATED             STATUS              PORTS                           NAMES
82411933e8f9        azure-vote-front  "/usr/bin/supervisord"   57 seconds ago      Up 30 seconds       443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
b68fed4b66b6        redis             "docker-entrypoint..."   57 seconds ago      Up 30 seconds       0.0.0.0:6379->6379/tcp          azure-vote-back

Testar a aplicação localmente

Procure https://localhost:8080 para ver a aplicação em execução.

Image of Kubernetes cluster on Azure

Limpar os recursos

Agora que a funcionalidade da aplicação foi validada, os contentores em execução podem ser parados e removidos. Não elimine as imagens de contentor. A imagem azure-vote-front é carregada para uma instância do Azure Container Registry no tutorial seguinte.

Execute o seguinte para parar os contentores em execução.

docker-compose stop

Elimine os contentores e os recursos parados com o seguinte comando.

docker-compose down

Após a conclusão, tem uma imagem de contentor que contém a aplicação Azure Vote.

Passos seguintes

Neste tutorial, uma aplicação foi testada e imagens de contentor foram criadas para a aplicação. Foram efetuados os seguintes passos:

  • Clonagem da origem da aplicação a partir do GitHub
  • Criou uma imagem de contentor a partir da origem de aplicação
  • Testou a aplicação em ambientes do Docker locais

Avance para o próximo tutorial para saber mais sobre o armazenamento das imagens de contentores em registos do Azure Container Registry.