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