Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este tutorial é parte um de uma série de tutoriais que demonstra como usar contêineres em um cluster do Linux Service Fabric. Neste tutorial, um aplicativo de vários contêineres é preparado para uso com o Service Fabric. Em tutoriais subsequentes, essas imagens são usadas como parte de um aplicativo do Service Fabric. Neste tutorial você aprenderá a:
- Clonar a origem do aplicativo do GitHub
- Criar uma imagem de contêiner a partir da fonte do aplicativo
- Implantar uma instância do Azure Container Registry (ACR)
- Marcar uma imagem de contêiner para ACR
- Carregue a imagem para o ACR
Nesta série de tutoriais, você aprenderá a:
- Criar imagens de contêiner para o Service Fabric
- Criar e executar um aplicativo do Service Fabric com contêineres
- Como o failover e a escalabilidade são geridos no Service Fabric
Pré-requisitos
- Ambiente de desenvolvimento Linux configurado para o Service Fabric. Siga as instruções aqui para configurar seu ambiente Linux.
- Este tutorial requer que você esteja executando a CLI do Azure versão 2.0.4 ou posterior. Executar
az --version
para localizar a versão. Se precisar de instalar ou atualizar, veja Instalar a CLI do Azure. - Além disso, requer que você tenha uma assinatura do Azure disponível. Para obter mais informações sobre uma versão de avaliação gratuita, clique aqui.
Obter código de aplicação
O aplicativo de exemplo usado neste tutorial é um aplicativo de votação. O aplicativo consiste em um componente Web front-end e uma instância Redis back-end. Os componentes são empacotados em imagens de contêiner.
Use o git para baixar uma cópia do aplicativo para seu ambiente de desenvolvimento.
git clone https://github.com/Azure-Samples/service-fabric-containers.git
cd service-fabric-containers/Linux/container-tutorial/
A solução contém duas pastas e um ficheiro 'docker-compose.yml'. A pasta 'azure-vote' contém o serviço de frontend Python junto com o Dockerfile usado para construir a imagem. O diretório 'Voting' contém o pacote de aplicativo do Service Fabric que é implantado no cluster. Esses diretórios contêm os recursos necessários para este tutorial.
Criar imagens de contêiner
Dentro do diretório azure-vote , execute o seguinte comando para criar a imagem para o componente Web front-end. Este comando usa o Dockerfile neste diretório para criar a imagem.
docker build -t azure-vote-front .
Observação
Se você está recebendo permissão negada, siga esta documentação sobre como trabalhar com docker sem sudo.
Esse comando pode levar algum tempo, já que todas as dependências necessárias precisam ser retiradas do Docker Hub. Quando concluído, use o comando docker images para ver a imagem azure-vote-front que você acabou de criar.
docker images
Implementar o Azure Container Registry
Primeiro, execute o comando az login para entrar na sua conta do Azure.
az login
Em seguida, use o comando az account para escolher sua assinatura para criar o Registro de Contêiner do Azure. Tem de introduzir o ID de subscrição da sua subscrição do Azure em vez de <subscription_id>.
az account set --subscription <subscription_id>
Ao implantar um Registro de Contêiner do Azure, você primeiro precisa de um grupo de recursos. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.
Crie um grupo de recursos com o comando az group create. Neste exemplo, um grupo de recursos chamado myResourceGroup é criado na região westus .
az group create --name <myResourceGroup> --___location westus
Crie um registro de contêiner do Azure com o comando az acr create . Substitua <acrName> pelo nome do registro de contêiner que você deseja criar em sua assinatura. Este nome deve ser alfanumérico e exclusivo.
az acr create --resource-group <myResourceGroup> --name <acrName> --sku Basic --admin-enabled true
No restante deste tutorial, usamos "acrName" como um espaço reservado para o nome do registro de contêiner que você escolheu. Por favor, tome nota deste valor.
Inicie sessão no seu registo de contentores
Faça login na sua instância ACR antes de enviar imagens para ela. Utilize o comando az acr login para concluir a operação. Forneça o nome exclusivo dado ao registro de contêiner quando ele foi criado.
az acr login --name <acrName>
O comando retorna uma mensagem 'Login bem-sucedido' uma vez concluído.
Marcar imagens de contêiner
Cada imagem de contêiner precisa ser marcada com o nome loginServer do registro. Essa tag é usada para roteamento ao enviar imagens de contêiner para um registro de imagem.
Para ver uma lista de imagens atuais, use o comando docker images .
docker images
Saída:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 052c549a75bf About a minute ago 913MB
Para obter o nome loginServer, execute o seguinte comando:
az acr show --name <acrName> --query loginServer --output table
Isso gera uma tabela com os seguintes resultados. Esse resultado será usado para marcar sua imagem azure-vote-front antes de enviá-la para o registro de contêiner na próxima etapa.
Result
------------------
<acrName>.azurecr.io
Agora, marque a imagem azure-vote-front com o loginServer do seu registro de contêiner. Além disso, adicione :v1
ao final do nome da imagem. Essa tag indica a versão da imagem.
docker tag azure-vote-front <acrName>.azurecr.io/azure-vote-front:v1
Uma vez etiquetado, execute 'docker images' para verificar a operação.
Saída:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 052c549a75bf 23 minutes ago 913MB
<acrName>.azurecr.io/azure-vote-front v1 052c549a75bf 23 minutes ago 913MB
Publicar imagens no repositório
Envie a imagem azure-vote-front para o registo.
Usando o exemplo a seguir, substitua o nome do ACR loginServer pelo loginServer do seu ambiente.
docker push <acrName>.azurecr.io/azure-vote-front:v1
Os comandos push do docker levam alguns minutos para serem concluídos.
Listar imagens no registro
Para retornar uma lista de imagens que foram enviadas por push para o registro do Contêiner do Azure, use o comando az acr repository list . Atualize o comando com o nome da instância ACR.
az acr repository list --name <acrName> --output table
Saída:
Result
----------------
azure-vote-front
Na conclusão do tutorial, a imagem do contêiner foi armazenada em uma instância privada do Registro de Contêiner do Azure. Esta imagem é implementada a partir do ACR para um cluster do Service Fabric nos tutoriais subsequentes.
Próximos passos
Neste tutorial, um aplicativo foi extraído do GitHub e imagens de contêiner foram criadas e enviadas por push para um registro. Foram efetuados os seguintes passos:
- Clonar a origem do aplicativo do GitHub
- Criar uma imagem de contêiner a partir da fonte do aplicativo
- Implantar uma instância do Azure Container Registry (ACR)
- Marcar uma imagem de contêiner para ACR
- Carregue a imagem para o ACR
Avance para o próximo tutorial para aprender sobre como empacotar contêineres em um aplicativo do Service Fabric usando o Yeoman.