Extrair imagens de um registo ligado no IoT Edge dispositivo
Para extrair imagens de um registo ligado, configure um token de cliente e transmita as credenciais do token para aceder ao conteúdo do registo.
Pré-requisitos
Utilize o ambiente bash no Azure Cloud Shell. Para obter mais informações, veja Início Rápido do Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, veja Como executar a CLI do Azure num contentor do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de início de sessão, veja Iniciar sessão com a CLI do Azure.
Quando lhe for pedido, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
- Recurso de registo ligado no Azure. Para obter os passos de implementação, veja Início Rápido: Criar um registo ligado com a CLI do Azure.
- Instância de registo ligada implementada num dispositivo IoT Edge. Para obter os passos de implementação, veja Início Rápido: Implementar um registo ligado num dispositivo IoT Edge ou Tutorial: Implementar um registo ligado em dispositivos IoT Edge aninhados. Nos comandos deste artigo, o nome do registo ligado é armazenado na variável de ambiente $CONNECTED_REGISTRY_RW.
Criar um mapa de âmbito
Utilize o comando az acr scope-map create para criar um mapa de âmbito para acesso de leitura ao hello-world
repositório:
# Use the REGISTRY_NAME variable in the following Azure CLI commands to identify the registry
REGISTRY_NAME=<container-registry-name>
az acr scope-map create \
--name hello-world-scopemap \
--registry $REGISTRY_NAME \
--repository hello-world content/read \
--description "Scope map for the connected registry."
Criar um token de cliente
Utilize o comando az acr token create para criar um token de cliente e associá-lo ao mapa de âmbito criado recentemente:
az acr token create \
--name myconnectedregistry-client-token \
--registry $REGISTRY_NAME \
--scope-map hello-world-scopemap
O comando irá devolver detalhes sobre o token recentemente gerado, incluindo palavras-passe.
Importante
Certifique-se de que guarda as palavras-passe geradas. São palavras-passe únicas e não podem ser obtidas. Pode gerar novas palavras-passe com o comando az acr token credential generate .
Atualizar o registo ligado com o token de cliente
Utilize o comando az acr connected-registry update para atualizar o registo ligado com o token de cliente recentemente criado.
az acr connected-registry update \
--name $CONNECTED_REGISTRY_RW \
--registry $REGISTRY_NAME \
--add-client-token myconnectedregistry-client-token
Extrair uma imagem do registo ligado
A partir de um computador com acesso ao dispositivo IoT Edge, utilize o seguinte comando de exemplo para iniciar sessão no registo ligado, utilizando as credenciais do token de cliente. Para obter as melhores práticas para gerir credenciais de início de sessão, veja a referência do comando docker login .
Atenção
Se configurar o registo ligado como um registo inseguro, atualize a lista de registos inseguros na configuração do daemon do Docker para incluir o endereço IP (ou FQDN) e a porta do registo ligado no dispositivo IoT Edge. Esta configuração só deve ser utilizada para fins de teste. Para obter mais informações, veja Testar um registo inseguro.
docker login --username myconnectedregistry-client-token \
--password <token_password> <IP_address_or_FQDN_of_connected_registry>:<port>
Para cenários de IoT Edge, certifique-se de que inclui a porta utilizada para aceder ao registo ligado no dispositivo. Exemplo:
docker login --username myconnectedregistry-client-token \
--password xxxxxxxxxxx 192.0.2.13:8000
Em seguida, utilize o seguinte comando para extrair a hello-world
imagem:
docker pull <IP_address_or_FQDN_of_connected_registry>:<port>/hello-world
Passos seguintes
- Saiba mais sobre os tokens com âmbito de repositório.
- Saiba mais sobre como aceder a um registo ligado.