Introdução ao Container Registry

O IBM Cloud® Container Registry fornece um registro de imagem privado de diversos locatários que pode ser usado para armazenar e compartilhar suas imagens de contêiner com usuários em sua conta do IBM Cloud.

O console do IBM Cloud inclui um resumo de Iniciação rápida. Para saber mais sobre como usar o console do IBM Cloud, consulte Gerenciando a segurança da imagem com o Vulnerability Advisor.

Não coloque informações pessoais em suas imagens de contêiner, nomes de namespace, campos de descrição ou em quaisquer dados de configuração de imagem (por exemplo, nomes de imagem ou rótulos de imagem).

Antes de Iniciar

Instale a interface de linha de comando (CLI) IBM Cloud para que você possa executar os comandos IBM Cloud ibmcloud, consulte Começar com o IBM Cloud CLI.

As instruções a seguir pressupõem que você esteja em sua própria conta com permissão para fazer tudo. Se você achar que não consegue executar os comandos e for membro de uma conta que pertence e é administrada por outra pessoa, talvez não tenha as permissões corretas para configurar e operar o serviço Container Registry. Nesse caso, você deve solicitar ao administrador que lhe conceda as permissões de função de acesso ao serviço IAM necessárias. Para obter mais informações, consulte Por que não consigo começar a usar o Container Registry?

Instalar a CLI do Container Registry

  1. Instale o plug-in container-registry CLI executando o seguinte comando:

    ibmcloud plugin install container-registry
    

    Para obter mais informações sobre a instalação de plug-ins, consulte Ampliação da CLI do IBM Cloud com plug-ins.

Configurar um namespace

Criar um espaço de nome. O namespace é criado no grupo de recursos especificado por você para que seja possível configurar o acesso aos recursos dentro do namespace no nível do grupo de recursos. Se você não especificar um grupo de recursos e não tiver um grupo de recursos como destino, o grupo de recursos padrão será usado. Os namespaces atribuídos a um grupo de recursos são exibidos na página Lista de recursos do console do IBM Cloud.

  1. Efetue login no IBM Cloud.

    ibmcloud login
    

    Se você tiver um ID federado, use ibmcloud login --sso para efetuar login. Digite seu nome de usuário e use a URL fornecida na saída da CLI para recuperar sua senha descartável. Se você tiver um ID federado, o login falhará sem o --sso e será bem-sucedido com a opção --sso.

    Você não precisa efetuar login no Container Registry até que deseje enviar por push uma imagem, consulte Etapa 5: enviar por push imagens para o seu namespace.

  2. Inclua um namespace para criar o seu próprio repositório de imagem. Substitua MY_NAMESPACE pelo seu namespace de preferência.

    O namespace deve ser exclusivo em todas as contas do IBM Cloud na mesma região. Os namespaces devem ter de 4 a 30 caracteres e conter apenas letras minúsculas, números, hífens (-) e sublinhados (_). Os namespaces devem iniciar e terminar com uma letra ou número.

    ibmcloud cr namespace-add MY_NAMESPACE
    

    É possível colocar o namespace em um grupo de recursos de sua preferência usando uma das opções a seguir.

    Se você tiver algum problema ao tentar criar um espaço de nome, consulte Por que não consigo adicionar um espaço de nome?

  3. Para ajudar a garantir que seu namespace seja criado, execute o comando ibmcloud cr namespace-list.

    ibmcloud cr namespace-list -v
    

Faça pull das imagens de um registro para o seu computador local

  1. Instale o Docker ou uma ferramenta de sua escolha, como o Podman.

  2. Faça download (fazer pull) da imagem para o seu computador local. Substitua SOURCE_IMAGE pelo repositório da imagem e TAG pela tag da imagem que você deseja utilizar, por exemplo, latest. Por exemplo, dependendo da ferramenta que você estiver usando, execute um dos comandos a seguir.

    • Se você estiver usando o Docker, execute o comando a seguir.

      docker pull SOURCE_IMAGE:TAG
      

      Por exemplo, em que SOURCE_IMAGE é hello-world e TAG é latest:

      docker pull hello-world:latest
      

      Se você tiver algum problema ao tentar extrair uma imagem Docker, consulte Pourquoi ne puis-je pas pousser ou tirer une image Docker? para obter ajuda. Se você não puder fazer pull da imagem mais recente usando a tag latest, consulte Por que eu não posso fazer pull da imagem mais nova usando a tag latest? para obter assistência.

    • Se você estiver usando o Podman, execute o seguinte comando.

      podman pull SOURCE_IMAGE:TAG
      

      Por exemplo, em que SOURCE_IMAGE é hello-world e TAG é latest:

      podman pull hello-world:latest
      

Identifique a imagem com tag

Para identificar a imagem com tag, substitua SOURCE_IMAGE pelo repositório e TAG pela tag de sua imagem local que você fez pull anteriormente. Substitua REGION pelo nome de sua região. Substitua MY_NAMESPACE pelo namespace que você criou em Configurar um namespace. Defina o repositório e a tag da imagem que deseja usar em seu namespace, substituindo NEW_IMAGE_REPO pelo nome do repositório de imagens e NEW_TAG pela tag. Por exemplo, dependendo da ferramenta que você estiver usando, execute um dos comandos a seguir.

Para localizar o nome de sua região, execute o comando ibmcloud cr region.

  • Se você estiver usando o Docker, execute o comando a seguir.

    docker tag SOURCE_IMAGE:TAG REGION.icr.io/MY_NAMESPACE/NEW_IMAGE_REPO:NEW_TAG
    

    Por exemplo, em que SOURCE_IMAGE é hello-world, TAG é latest, REGION é uk, MY_NAMESPACE é namespace1, NEW_IMAGE_REPO é hw_repo, e NEW_TAG é 1:

    docker tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
    
  • Se você estiver usando o Podman, execute o seguinte comando.

    podman tag SOURCE_IMAGE:TAG REGION.icr.io/MY_NAMESPACE/NEW_IMAGE_REPO:NEW_TAG
    

    Por exemplo, em que SOURCE_IMAGE é hello-world, TAG é latest, REGION é uk, MY_NAMESPACE é namespace1, NEW_IMAGE_REPO é hw_repo, e NEW_TAG é 1:

    podman tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
    

Envie por push as images para o seu namespace

  1. Efetue login no IBM Cloud Container Registry usando uma das opções a seguir.

    • Para o login com o Docker, execute o comando ibmcloud cr login para efetuar login do seu daemon do Docker local no IBM Cloud Container Registry.

      ibmcloud cr login --client docker
      
    • Para o login com o Podman, execute o comando ibmcloud cr login para efetuar login no IBM Cloud Container Registry.

      ibmcloud cr login --client podman
      
    • Para efetuar login usando outros clientes, consulte Como acessar seus namespaces de forma interativa.

    Se você tiver um problema ao tentar efetuar login, consulte Por que eu não posso efetuar login no Container Registry? para obter assistência.

  2. Faça upload (enviar por push) da imagem em seu namespace. Substitua MY_NAMESPACE pelo namespace que você criou em Configurar um namespace. Substitua IMAGE_REPO e TAG pelo repositório e pela tag da imagem que você escolheu quando identificou a imagem com tag. Por exemplo, dependendo da ferramenta que você estiver usando, execute um dos comandos a seguir.

    • Se você estiver usando o Docker, execute o comando a seguir.

      docker push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
      

      Por exemplo, em que REGION é uk, MY_NAMESPACE é namespace1, IMAGE_REPO é hw_repo, e TAG é 1:

      docker push uk.icr.io/namespace1/hw_repo:1
      

      Se você tiver algum problema ao tentar enviar uma imagem Docker, consulte Por que não consigo enviar ou extrair uma imagem Docker? para obter ajuda.

    • Se você estiver usando o Podman, execute o seguinte comando.

      podman push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
      

      Por exemplo, em que REGION é uk, MY_NAMESPACE é namespace1, IMAGE_REPO é hw_repo, e TAG é 1:

      podman push uk.icr.io/namespace1/hw_repo:1
      

Verifique se a imagem foi enviada por push

Verifique se a imagem foi enviada por push com sucesso executando o comando a seguir.

ibmcloud cr image-list

Você configurou um namespace no IBM Cloud Container Registry e enviou sua primeira imagem para o seu namespace.

Configure uma trilha de auditoria para alterações em Container Registry

Crie uma trilha de auditoria para alterações em Container Registry capturando eventos de atividade de cada uma das regiões ativas de Container Registry. Crie esses eventos de atividade em uma ou mais instâncias do site IBM Cloud Logs.

Para configurar uma trilha de auditoria, conclua as etapas a seguir:

  1. Configure IBM Cloud Logs, consulte Introdução ao IBM Cloud Logs.
  2. Configure IBM Cloud Activity Tracker Event Routing, consulte Introdução ao IBM Cloud Activity Tracker Event Routing.
  3. Configure um alvo IBM Cloud Logs, consulte Configuração de uma instância IBM Cloud Logs como um alvo.

Para obter mais informações sobre registro em log, consulte Sobre IBM Cloud Logs e Registro em log para Container Registry.

Para obter mais informações sobre eventos de atividade, consulte Sobre IBM Cloud Activity Tracker Event Routing e Eventos de rastreamento de atividade para Container Registry.

Monitorar métricas para Container Registry

É possível criar uma instância do Monitoring na região que você deseja monitorar e ativar métricas de plataforma para ela. Como alternativa, é possível ativar métricas de plataforma em uma instância do Monitoring existente naquela região.

Para obter mais informações sobre a configuração de métricas, consulte Ativação de métricas para Container Registry e Introdução a Monitoring.

Próximas etapas em Container Registry