(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.
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.
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.