Exercício – Enviar por push uma imagem de microsserviço para o Docker Hub
Para que o Kubernetes crie uma imagem de contêiner, ele precisa de um local do qual obtê-la. O Docker Hub é um local central para carregar imagens do Docker. Muitos produtos, inclusive o Kubernetes, podem criar contêineres com base em imagens no Docker Hub.
Observação
Você irá realizar esse exercício em um Codespace do GitHub com o Docker e o SDK do .NET pré-instalados. Ao usar essas técnicas em seu próprio ambiente de desenvolvimento, certifique-se de ter esses pré-requisitos instalados.
Abrir o ambiente de desenvolvimento
Você pode optar por usar um codespace do GitHub que hospeda o exercício ou concluí-lo localmente no Visual Studio Code.
Para usar um codespace, crie um Codespace do GitHub pré-configurado com este link de criação de codespace.
Este processo levará alguns minutos enquanto o GitHub cria e configura o codespace. Depois de concluído, o código utilizado para o restante desse módulo está no diretório dotnet-kubernetes.
Para usar o Visual Studio Code, clone o repositório https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative em seu computador local. Em seguida:
- Instale todos os requisitos do sistema para executar o Contêiner de Desenvolvimento no Visual Studio Code.
- Confira se o Docker está em execução.
- Em uma nova janela do Visual Studio Code, abra a pasta do repositório clonado
- Pressione Ctrl+Shift+P para abrir a paleta de comandos.
- Pesquisa: >Contêineres de Desenvolvimento: Recompilar e Reabrir no Contêiner
- Selecione eShopLite – dotnet-kubernetes na lista suspensa. O Visual Studio Code cria seu contêiner de desenvolvimento localmente.
Verificar as imagens do Docker criando contêineres no codespace
Existem dois contêineres no projeto da Contoso Shop. Antes de enviar as imagens para o Docker Hub, vamos usá-las para criar os contêineres no codespace. Após os contêineres terem sido criados e estarem em execução, poderemos navegar no site da empresa Contoso e verificar se os microsserviços estão sendo executados corretamente.
Siga essas etapas para criar e executar contêineres do Docker no codespace.
Alterne para a guia TERMINAL e execute o seguinte comando para ir para a raiz do código:
cd dotnet-kubernetes
Execute o seguinte comando para criar os contêineres:
dotnet publish /p:PublishProfile=DefaultContainer
Poderá levar algum tempo para os contêineres serem criados.
Execute o seguinte comando para executar o aplicativo e anexar os contêineres:
docker compose up
Para testar o serviço de front-end, alterne para a guia PORTAS e, em seguida, à direita do endereço local da porta de Front-End, selecione o ícone de globo. O navegador exibirá a página inicial.
Selecione Produtos. O catálogo mostra os produtos da Contoso.
Feche o site da Web, retorne à guia TERMINAL e, a seguir, pressione CTRL + C. O Docker Compose para os contêineres.
Entrar no Docker Hub
A próxima etapa ao carregar as imagens para o Docker Hub é entrar nele. No prompt de comando, insira o seguinte:
docker login
Importante
Use os mesmos nome de usuário e a senha de quando você criou sua conta do Docker. Você pode visitar o site do Docker Hub para redefinir sua senha, se necessário.
Fazer upload das imagens para o Docker Hub
Insira o código a seguir para remarcar ou renomear as imagens do Docker criadas sob seu nome de usuário do Docker.
docker tag store [YOUR DOCKER USER NAME]/storeimage docker tag products [YOUR DOCKER USER NAME]/productservice
Por fim, carregue ou envie por push as imagens do Docker para o Docker Hub.
docker push [YOUR DOCKER USER NAME]/storeimage docker push [YOUR DOCKER USER NAME]/productservice
Se você receber um erro de autenticação, poderá executar
docker logout
seguido dedocker login
para se autenticar novamente.
Nesse exercício, você usou o Dockerfiles e o Docker Compose para criar duas imagens e contêineres do Docker e enviou essas imagens por push para o Docker Hub.
Agora, você está pronto para usar o Kubernetes para gerenciar a implantação dos microsserviços da Contoso.