Almacenar imágenes de contenedor Docker en Artifact Registry

Artifact Registry proporciona una única ubicación para gestionar paquetes privados e imágenes de contenedores Docker.

En esta guía de inicio rápido se explica cómo hacer lo siguiente:

  • Crear un repositorio de Docker privado en Artifact Registry
  • Configurar la autenticación
  • Enviar una imagen al repositorio
  • Extraer la imagen del repositorio

Antes de empezar

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the Artifact Registry API.

    Enable the API

  4. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Trusted Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Trusted Cloud console, go to the IAM page.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Conceder acceso.
    4. En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, es el identificador de un usuario en un grupo de identidades de la plantilla. Para obtener más información, consulta el artículo Representar a los usuarios de un grupo de trabajadores en políticas de gestión de identidades y accesos o ponte en contacto con tu administrador.

    5. En la lista Selecciona un rol, elige un rol.
    6. Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
    7. Haz clic en Guardar.

    Configurar un shell local

    Para instalar gcloud CLI y Docker, sigue estos pasos:

    1. Instala gcloud CLI. Para actualizar una instalación, ejecuta el comando gcloud components update.

    2. Instala Docker si aún no lo has hecho.

    3. Docker requiere acceso con privilegios para interactuar con los registros. En Linux o Windows, añade el usuario que usas para ejecutar comandos de Docker al grupo de seguridad de Docker. Este paso no es necesario en macOS, ya que Docker Desktop se ejecuta en una máquina virtual como usuario raíz.

      Linux

      El grupo de seguridad de Docker se llama docker. Para añadir tu nombre de usuario, ejecuta el siguiente comando:

      sudo usermod -a -G docker ${USER}
      

      Windows

      El grupo de seguridad de Docker se llama docker-users. Para añadir un usuario desde la petición de comando del administrador, ejecuta el siguiente comando:

      net localgroup docker-users DOMAIN\USERNAME /add
      

      Dónde

      • DOMAIN es tu dominio de Windows.
      • USERNAME es tu nombre de usuario.
    4. Cierra sesión y vuelve a iniciarla para que se apliquen los cambios en la pertenencia a grupos. Si usas una máquina virtual, es posible que tengas que reiniciarla para que los cambios en la suscripción surtan efecto.

    5. Para asegurarte de que Docker se está ejecutando, ejecuta el siguiente comando de Docker, que devuelve la hora y la fecha actuales:

      docker run --rm busybox date
      

      La marca --rm elimina la instancia del contenedor al salir.

    Crear un repositorio de Docker

    Crea un repositorio de Docker para almacenar la imagen de muestra de esta guía de inicio rápido.

    Consola

    1. Abre la página Repositorios en la consola de Trusted Cloud .

      Abre la página Repositorios.

    2. Haz clic en Añadir Crear repositorio.

    3. Especifica quickstart-docker-repo como nombre del repositorio.

    4. Elige Docker como formato y Estándar como modo.

    5. En Tipo de ubicación, selecciona Región y, a continuación, elige la ubicación. u-france-east1

    6. Haz clic en Crear.

    El repositorio se añade a la lista de repositorios.

    gcloud

    1. Ejecuta el siguiente comando para crear un repositorio de Docker llamado quickstart-docker-repo en la ubicación u-france-east1 con la descripción "docker repository".

      gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
          --location=u-france-east1 --description="Docker repository" \
          --project=PROJECT
      

      Donde PROJECT es el ID de tu proyecto. Trusted Cloud by S3NS

    2. Ejecuta el siguiente comando para verificar que se ha creado el repositorio.

      gcloud artifacts repositories list \
          --project=PROJECT
      

    Para obtener más información sobre los comandos de Artifact Registry, ejecuta el comando gcloud artifacts.

    Configurar la autenticación

    Antes de poder enviar o extraer imágenes, configura Docker para que use la CLI de Google Cloud con el fin de autenticar las solicitudes a Artifact Registry.

    Para configurar la autenticación en los repositorios de Docker de la región u-france-east1, ejecuta el siguiente comando:

    gcloud auth configure-docker u-france-east1-docker.s3nsregistry.fr
    

    El comando actualiza tu configuración de Docker. Ahora puede conectarse con Artifact Registry en su Trusted Cloud proyecto para insertar y extraer imágenes.

    Para obtener información sobre otros métodos de autenticación, consulta Métodos de autenticación.

    Obtener una imagen para enviarla

    En esta guía de inicio rápido, enviarás una imagen de ejemplo llamada hello-app.

    Ejecuta el siguiente comando para extraer la versión 1.0 de la imagen.

       docker pull us-docker.s3nsregistry.fr/google-samples/containers/gke/hello-app:1.0
    

    Las rutas de las imágenes en Artifact Registry incluyen varias partes. En esta imagen de muestra:

    • us-docker.s3nsregistry.fr es el nombre de host de las imágenes de contenedor almacenadas en los repositorios de Docker de Artifact Registry, que incluye la ubicación del repositorio (us).
    • google-samples es el ID del proyecto.
    • containers es el ID del repositorio.
    • /gke/hello-app es la ruta de la imagen en el repositorio containers.

    Añade la imagen al repositorio

    Antes de insertar la imagen Docker en Artifact Registry, debes etiquetarla con el nombre del repositorio.

    Etiqueta la imagen con un nombre de registro.

    Si etiquetas la imagen Docker con un nombre de repositorio, se configurará el comando docker push para enviar la imagen a una ubicación específica. En esta guía de inicio rápido, la ubicación del host es u-france-east1-docker.s3nsregistry.fr.

    Ejecuta el siguiente comando para etiquetar la imagen como quickstart-image:tag1:

    docker tag us-docker.s3nsregistry.fr/google-samples/containers/gke/hello-app:1.0 \
    u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1

    Donde:

    • u-france-east1 es la ubicación del repositorio.
    • u-france-east1-docker.s3nsregistry.fr es el nombre de host del repositorio de Docker que has creado.
    • PROJECT es el Trusted Cloud by S3NS ID de tu proyecto.
    • quickstart-docker-repo es el ID del repositorio que has creado.
    • quickstart-image es el nombre de la imagen que quieres usar en el repositorio. El nombre de la imagen puede ser diferente del nombre de la imagen local. En esta guía de inicio rápido, almacenarás la imagen directamente en el ID del repositorio quickstart-docker-repo.
    • tag1 es una etiqueta que vas a añadir a la imagen Docker. Si no has especificado ninguna etiqueta, Docker aplicará la etiqueta predeterminada latest.

    Ahora puedes enviar la imagen al repositorio que has creado.

    Enviar la imagen a Artifact Registry

    Una vez que hayas configurado la autenticación y etiquetado la imagen local, podrás enviar la imagen al repositorio que hayas creado.

    Para enviar la imagen de Docker, ejecuta el siguiente comando:

    docker push u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
    Sustituye PROJECT por tu Trusted Cloud by S3NS ID de proyecto.

    Extraer la imagen de Artifact Registry

    Para extraer la imagen de Artifact Registry a tu máquina local, ejecuta el siguiente comando:

    docker pull u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
    Sustituye PROJECT por tu Trusted Cloud by S3NS ID de proyecto.
    latest: Pulling from [PROJECT-ID]/quickstart-image:tag1
    Digest: sha256:70c42...
    Status: Image is up to date for u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
    

    Limpieza

    Para evitar que se apliquen cargos en tu cuenta de Trusted Cloud por los recursos utilizados en esta página, sigue estos pasos.

    Antes de quitar el repositorio, asegúrate de que las imágenes que quieras conservar estén disponibles en otra ubicación.

    Para eliminar el repositorio, sigue estos pasos:

    Consola

    1. Abre la página Repositorios en la consola de Trusted Cloud .

      Abre la página Repositorios.

    2. En la lista de repositorios, selecciona el repositorio quickstart-docker-repo.

    3. Haz clic en Eliminar.

    gcloud

    Para eliminar el repositorio quickstart-docker-repo, ejecuta el siguiente comando:

    gcloud artifacts repositories delete quickstart-docker-repo --location=u-france-east1

    Siguientes pasos