Almacena imágenes de contenedor de Docker en Artifact Registry
Artifact Registry proporciona una ubicación única para administrar imágenes de contenedores de Docker y paquetes privados.
Esta guía de inicio rápido te muestra cómo hacer lo siguiente:
- Crear un repositorio privado de Docker en Artifact Registry
- Configurar la autenticación
- Enviar una imagen al repositorio
- Extraer la imagen del repositorio
Para seguir la guía paso a paso sobre esta tarea directamente en la consola Google Cloud , haz clic en Guiarme:
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
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.
- 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
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Grant access.
-
En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.
- En la lista Seleccionar un rol, elige un rol.
- Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
- Haz clic en Guardar.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
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.
- 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
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Grant access.
-
En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.
- En la lista Seleccionar un rol, elige un rol.
- Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
- Haz clic en Guardar.
-
Elige una shell
Para completar esta guía de inicio rápido, usa Cloud Shell o tu shell local.
- Cloud Shell
- Cloud Shell es un entorno de shell que se usa para administrar recursos alojados en Google Cloud. Viene preinstalado con Docker y la CLI de Google Cloud, la interfaz de línea de comandos principal para Google Cloud.
- Shell local
- Si prefieres usar tu shell local, debes instalar Docker y gcloud CLI en tu entorno.
Inicia Cloud Shell
Para iniciar Cloud Shell, sigue estos pasos:
Ve a la consola de Google Cloud .
Haz clic en el botón Activar Cloud Shell:
.
Se abrirá una sesión de Cloud Shell dentro de un marco en la parte inferior en la consola.
Usa esta shell para ejecutar los comandos de gcloud
.
Configura una shell local
Para instalar gcloud CLI y Docker, realiza los siguientes pasos:
Instala la CLI de gcloud. Para actualizar una instalación existente, ejecuta el comando de
gcloud components update
.Instala Docker si aún no lo hiciste.
Docker necesita acceso con privilegios para interactuar con los registros. En Linux o Windows, agrega 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 agregar 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 agregar un usuario desde el símbolo del sistema del administrador, ejecuta el siguiente comando:net localgroup docker-users DOMAIN\USERNAME /add
Donde
- DOMAIN es tu dominio de Windows.
- USERNAME es tu nombre de usuario.
Sal de tu cuenta y vuelve a acceder para que se apliquen los cambios de membresía de grupo. Si utilizas una máquina virtual, es posible que tengas que reiniciarla para que se apliquen los cambios de membresía.
Para asegurarte de que Docker esté funcionando, ejecuta el siguiente comando de Docker, que muestra la hora y la fecha actuales:
docker run --rm busybox date
La marca
--rm
borra la instancia de contenedor cuando se sale.
Crea un repositorio de Docker
Crea un repositorio de Docker para almacenar la imagen de muestra de esta guía de inicio rápido.
Console
Abre la página Repositorios en la consola de Google Cloud .
Haz clic en add Crear repositorio.
Especifica
quickstart-docker-repo
como el nombre del repositorio.Elige Docker como formato y Estándar como modo.
En Tipo de ubicación, selecciona Región y, luego, elige la ubicación
us-west1
.Haga clic en Crear.
El repositorio se agrega a la lista de repositorios.
gcloud
Ejecuta el siguiente comando para crear un nuevo repositorio de Docker llamado
quickstart-docker-repo
en la ubicaciónus-west1
con la descripción “repositorio de Docker”.gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-west1 --description="Docker repository" \ --project=PROJECT
En el ejemplo anterior, PROJECT es el ID del proyecto Google Cloud .
Ejecuta el siguiente comando para verificar que se haya 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
.
Configura la autenticación
Antes de poder enviar o extraer imágenes, debes configurar Docker para que use Google Cloud CLI con el objetivo de autenticar las solicitudes enviadas a Artifact Registry.
Para configurar la autenticación en los repositorios de Docker en la región us-west1
, ejecuta el siguiente comando:
gcloud auth configure-docker us-west1-docker.pkg.dev
El comando actualiza tu configuración de Docker. Ahora puedes conectarte con Artifact Registry en tu proyecto Google Cloud para enviar y extraer imágenes.
Para obtener información sobre otros métodos de autenticación, consulta Métodos de autenticación.
Obtén una imagen para enviar
Para esta guía de inicio rápido, enviarás una imagen de muestra llamada hello-app
.
Ejecuta el siguiente comando para extraer la versión 1.0 de la imagen.
docker pull us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Las rutas de imágenes en Artifact Registry incluyen varias partes. Para esta imagen de ejemplo:
us-docker.pkg.dev
es el nombre de host para las imágenes de contenedor almacenadas en 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 acceso a la imagen en el repositoriocontainers
.
Agrega la imagen al repositorio
Antes de enviar la imagen de Docker a Artifact Registry, debes etiquetarla con el nombre del repositorio.
Etiqueta la imagen con un nombre de registro
Etiquetar la imagen de Docker con el nombre de un repositorio configura el comando docker push
para enviar la imagen a una ubicación específica. Para esta guía de inicio rápido, la ubicación del host es us-west1-docker.pkg.dev
.
Ejecuta el siguiente comando para etiquetar la imagen como quickstart-image:tag1
:
docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \ us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Aquí:
us-west1
es la ubicación del repositorio.us-west1-docker.pkg.dev
es el nombre de host del repositorio de Docker que creaste.- PROJECT es el Google Cloud ID del proyecto.
Si el ID de tu proyecto contiene dos puntos (
:
), consulta Proyectos con alcance de dominio. quickstart-docker-repo
es el ID del repositorio que creaste.quickstart-image
es el nombre de imagen que deseas 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 repositorioquickstart-docker-repo
.tag1
es una etiqueta que agregas a la imagen de Docker. Si no especificaste una etiqueta, Docker aplicará la etiqueta predeterminadalatest
.
Ahora tienes todo listo para enviar la imagen al repositorio que creaste.
Envía la imagen a Artifact Registry
Una vez que hayas configurado la autenticación y etiquetado la imagen local, puedes enviar la imagen al repositorio que creaste.
Para enviar la imagen de Docker, ejecuta el siguiente comando:
docker push us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
:
), consulta Proyectos con alcance de dominio.
Extrae la imagen de Artifact Registry
Para extraer la imagen de Artifact Registry en tu máquina local, ejecuta el siguiente comando:
docker pull us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
:
), consulta Proyectos con alcance de dominio.
latest: Pulling from [PROJECT-ID]/quickstart-image:tag1 Digest: sha256:70c42... Status: Image is up to date for us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
Antes de quitar el repositorio, asegúrate de que las imágenes que quieres conservar estén disponibles en otra ubicación.
Para borrar el repositorio, haz lo siguiente:
Console
Abre la página Repositorios en la consola de Google Cloud .
En la lista de repositorios, selecciona el repositorio
quickstart-docker-repo
.Haz clic en Borrar.
gcloud
Para borrar el repositorio quickstart-docker-repo
, ejecuta el siguiente comando:
gcloud artifacts repositories delete quickstart-docker-repo --location=us-west1
¿Qué sigue?
- Obtén más información sobre cómo trabajar con imágenes de contenedor.
- Obtén más información acerca de Docker.
- Lee nuestros recursos sobre DevOps y explora el programa de investigación DevOps Research and Assessment (DORA).