Guía de inicio rápido para Container Registry
En esta guía de inicio rápido, se describe cómo configurar Docker para Container Registry y, luego, enviar y extraer una imagen.
Google Cloud tiene dos servicios para almacenar y administrar imágenes de contenedor:
- Artifact Registry (recomendado)
Un servicio para almacenar y administrar artefactos en repositorios privados, incluidas las imágenes de contenedor, los gráficos de Helm y los paquetes de lenguajes. Es el registro de imágenes de contenedor recomendado para Google Cloud.
Prueba la guía de inicio rápido de Docker para familiarizarte con Artifact Registry.
- Container Registry
Un registro de imágenes de contenedor privado compatible con Docker Image Manifest V2 y los formatos de imagen de OCI. Proporciona un subconjunto de funciones de Artifact Registry.
Si en la actualidad no usas Container Registry, usa Artifact Registry en su lugar. Para ver una comparación entre Container Registry y Artifact Registry, así como información sobre la transición de Container Registry a Artifact Registry, consulta Cómo hacer la transición desde Container Registry.
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 Container Registry API.
-
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 Container Registry API.
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 Google Cloud CLI, 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.
En la barra de menú, 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
Si deseas instalar gcloud
y Docker, sigue los siguientes pasos:
Instala la CLI de gcloud. Para actualizar una instalación existente, ejecuta el comando
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 Mac OS, 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 busybox date
Configura la autenticación
Antes de poder enviar o extraer imágenes, debes configurar Docker para que use Google Cloud CLI a fin de autenticar las solicitudes a Container Registry.
Ejecuta el siguiente comando:
gcloud auth configure-docker
El comando actualiza tu configuración de Docker. Ahora puedes conectarte con Container Registry en tu proyecto de Google Cloud para enviar y extraer imágenes.
Cómo obtener una imagen para enviar
Para esta guía de inicio rápido, enviarás una imagen de muestra llamada hello-app
.
- Cambia a un directorio en el que quieras guardar la imagen.
Ejecuta el siguiente comando para extraer la versión 1.0 de la imagen.
docker pull gcr.io/google-samples/hello-app:1.0
Agrega la imagen a Container Registry
Para agregar una imagen a Container Registry, debes etiquetarla y, luego, enviarla al registro.
Etiqueta la imagen con un nombre de registro
Etiquetar la imagen de Docker con un nombre de registro 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 gcr.io
.
Ejecuta el siguiente comando para etiquetar la imagen como quickstart-image:tag1
:
docker tag gcr.io/google-samples/hello-app:1.0 gcr.io/PROJECT_ID/quickstart-image:tag1
Reemplaza lo siguiente:
- PROJECT-ID es el ID del proyecto
de la consola de Google Cloud,
que debes agregar a tu comando. Si el ID de tu proyecto contiene dos puntos (
:
), consulta Proyectos con alcance de dominio. gcr.io
es el nombre de host.quickstart-image
es el nombre de la imagen de Docker.tag1
es una etiqueta que agregas a la imagen de Docker. Si no especificaste una etiqueta, Docker aplicará la etiqueta predeterminadalatest
.
Ahora estás listo para enviar la imagen a Container Registry.
Envía la imagen a Container 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 gcr.io/PROJECT_ID/quickstart-image:tag1
En el ejemplo anterior, PROJECT_ID es el ID del proyecto
de la consola de Google Cloud.
Si el ID de tu proyecto contiene dos puntos (:
), consulta Proyectos con alcance de dominio.
Cuando envías una imagen a una nueva ubicación de host, el servicio crea el bucket de almacenamiento subyacente único para tu proyecto. Puedes ver las imágenes
que aloja Container Registry mediante la
consola de Google Cloud o mediante la visita al nombre de registro
de la imagen en tu navegador web:
http://gcr.io/PROJECT_ID/quickstart-image
.
Extrae la imagen de Container Registry
Para extraer la imagen de Container Registry en tu máquina local, ejecuta el siguiente comando:
docker pull gcr.io/PROJECT_ID/quickstart-image:tag1
Reemplaza PROJECT_ID por el ID del proyecto
de la consola de Google Cloud.
Si el ID de tu proyecto contiene dos puntos (:
), consulta Proyectos con alcance de dominio.
Deberías ver un resultado similar al siguiente:
latest: Pulling from my-project/quickstart-image:tag1
Digest: sha256:70c42...
Status: Image is up to date for gcr.io/my-project/quickstart-image:tag1
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página.
Ejecuta el siguiente comando para borrar la imagen de Docker de Container Registry.
gcloud container images delete gcr.io/PROJECT_ID/quickstart-image:tag1 --force-delete-tags
Reemplaza PROJECT_ID por el ID del proyecto
de la consola de Google Cloud.
Si el ID de tu proyecto contiene dos puntos (:
), consulta Proyectos con alcance de dominio.
¿Qué sigue?
- Obtén más información sobre cómo enviar y extraer imágenes de Docker con Container Registry.
- Obtén más información sobre cómo administrar imágenes de Docker en Container Registry.
- Obtén información para usar Container Registry con otros servicios de Google Cloud.
- Obtén más información sobre las funciones de Container Registry.
- Obtén más información acerca de Docker.
- Lee nuestros recursos sobre DevOps y explora nuestro programa de investigación.