Compartilhar via


(PRETERIDO) Criar imagens de contêiner a serem usadas com o Serviço de Contêiner do Azure

Dica

Para obter a versão atualizada deste tutorial que usa Serviço de Kubernetes do Azure, consulte Tutorial: Preparar um aplicativo para Serviço de Kubernetes do Azure (AKS).

Aviso

O ACS (Serviço de Contêiner do Azure) está sendo preterido. Não estão sendo adicionados novos recursos ou funcionalidades ao ACS. Todas as APIs, a experiência do portal, os comandos da CLI e a documentação estão marcados como preteridos.

Em 2017, introduzimos o AKS (Serviço de Kubernetes do Azure) para simplificar o gerenciamento, a implantação e as operações do Kubernetes. Se você usar o orquestrador do Kubernetes, migre para o AKS até o dia 31 de janeiro de 2020. Para começar, confira Migrar para o Serviço de Kubernetes do Azure.

Para obter mais informações, consulte o Comunicado de preterimento do Serviço de Contêiner do Azure em Azure.com.

Neste tutorial, parte um de sete, um aplicativo de vários contêineres é preparado para uso em Kubernetes. As etapas concluídas incluem:

  • Clonando a fonte do aplicativo do GitHub
  • Criando uma imagem de contêiner a partir da origem de aplicativo
  • Testando o aplicativo em um ambiente Docker local

Uma vez concluído, o seguinte aplicativo estará acessível em seu ambiente de desenvolvimento local.

Image of Kubernetes cluster on Azure

Nos tutoriais subsequentes, a imagem de contêiner é carregada em um Registro de Contêiner do Azure e, em seguida, é executada em um cluster Kubernetes hospedado no Azure.

Antes de começar

Este tutorial assume uma compreensão básica dos conceitos fundamentais do Docker como contêineres, imagens de contêiner e comandos básicos do docker. Se necessário, consulte Get started with Docker (Introdução ao Docker) para conhecer os conceitos básicos de contêiner.

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

Azure Cloud Shell não inclui os componentes de Docker necessários para concluir cada etapa neste tutorial. Portanto, é recomendável usar um ambiente de desenvolvimento completo do Docker.

Obter o código de aplicativo

O aplicativo de exemplo usado neste tutorial é um aplicativo de votação básico. O aplicativo consiste de um componente Web de front-end e uma instância Redis de back-end. O componente Web é empacotado em uma imagem de contêiner personalizada. A instância Redis utiliza uma imagem não modificada do Hub Docker.

Use o git para baixar uma cópia do aplicativo em seu ambiente de desenvolvimento.

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

Altere os diretórios pois você está trabalhando no diretório clonado.

cd azure-voting-app-redis

Dentro do diretório está o código-fonte do aplicativo, um arquivo Docker Compose pré-criado e um arquivo de manifesto Kubernetes. Esses arquivos são usados em todo o conjunto do tutorial.

Criar imagens de contêiner

O Docker Compose pode ser utilizado para automatizar a compilação de imagens de contêiner e a implantação de aplicativos de vários contêineres.

Execute o arquivo docker-compose.yml para criar a imagem de contêiner, baixe a imagem Redis e inicie o aplicativo.

docker-compose up -d

Quando completado, use o comando docker images para ver as imagens criadas.

docker images

Observe que três imagens foram baixadas ou criadas. A imagem azure-vote-front contém o aplicativo e usa a imagem nginx-flask como base. A imagem redis é usada 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 contêineres em execução.

docker ps

Saída:

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 o aplicativo localmente

Navegue até https://localhost:8080 para ver o aplicativo em execução.

Image of Kubernetes cluster on Azure

Limpar os recursos

Agora que a funcionalidade do aplicativo foi validada, os contêineres em execução podem ser interrompidos e removidos. Não exclua as imagens de contêiner. A imagem azure-vote-front será carregada em uma instância do Registro de Contêiner do Azure no próximo tutorial.

Execute o seguinte para interromper os contêineres em execução.

docker-compose stop

Exclua os contêineres e recursos interrompidos com o comando a seguir.

docker-compose down

Ao concluir, você terá uma imagem de contêiner que contém o aplicativo Azure Vote.

Próximas etapas

Neste tutorial, um aplicativo foi testado e imagens de contêiner foram criadas para o aplicativo. As etapas a seguir foram concluídas:

  • Clonando a fonte do aplicativo do GitHub
  • Criando uma imagem de contêiner a partir da origem do aplicativo
  • Testando o aplicativo em um ambiente Docker local

Avance para o próximo tutorial para saber mais sobre como armazenar imagens de contêiner em um Registro de Contêiner do Azure.