Todos los productos
Search
Centro de documentos

Container Registry:Compilar imágenes en una instancia de Container Registry Enterprise Edition

Última actualización: Sep 25, 2026

Configure una instancia de ACR Enterprise Edition para compilar y enviar automáticamente imágenes de contenedor cada vez que confirme código en un repositorio vinculado. Una vez configurada, cada cambio en el código activa una compilación y envía la imagen a su repositorio.

Requisitos previos

Antes de empezar, asegúrese de lo siguiente:

Contexto

El servicio de compilación de imágenes de ACR Enterprise Edition ofrece las siguientes capacidades:

  • Seguridad: cada tarea de compilación se ejecuta en un entorno exclusivo para su cuenta de Alibaba Cloud. Esto garantiza un aislamiento sólido entre inquilinos.

  • Estabilidad: las tareas de compilación se ejecutan en su entorno dedicado. Por ello, los tiempos de compilación se mantienen constantes en múltiples compilaciones del mismo repositorio de código fuente.

  • Aceleración inteligente:

    • ACR usa BuildKit de forma predeterminada. Esta herramienta ofrece capacidades sólidas para escenarios de compilación por etapas y admite funciones avanzadas de compilación.

    • ACR almacena localmente las imágenes base comunes. Así, las compilaciones no necesitan extraerlas de fuentes externas y el tiempo de compilación se reduce.

    • ACR utiliza cachés remotas para acelerar aún más la compilación de imágenes.

Plataformas de hosting de código compatibles

La siguiente tabla muestra las plataformas de hosting de código que admite Container Registry Enterprise Edition:

  • ACR es compatible con las siguientes plataformas de hosting de código:

    Plataforma de hosting de código

    Versión

    Método de autenticación para la vinculación

    Límite para activar compilaciones de imágenes

    Gitee

    Todas las versiones

    Autenticación OAuth de Gitee

    Ninguna

    GitHub

    Versión para desarrolladores de GitHub

    Autenticación OAuth de GitHub

    Ninguna

    GitLab

    Todas las versiones

    Token de acceso personal

    Ninguna

    Bitbucket

    Todas las versiones

    Autenticación OAuth de Gitee

    Ninguna

    Nota

    Las instancias de Personal Edition no se pueden vincular a Gitee.

  • Generación acelerada de imágenes: después de enviar una imagen de contenedor, ACR puede generar automáticamente una versión acelerada de esta. Para obtener más información, consulte Load resources of a container image on demand.

Paso 1: Vincular la instancia a una plataforma de hosting de código

Vincule la instancia a una plataforma de hosting de código para que ACR acceda a su código fuente y active compilaciones cuando haya cambios. Para consultar las instrucciones detalladas, vea Bind a source code hosting platform.

Importante
  • No es posible compilar imágenes desde un repositorio de código local.

  • Para vincular un repositorio de código privado de GitLab en una red virtual privada (VPC), consulte Build a container image in a VPC.

Paso 2: Crear un espacio de nombres

Cree un espacio de nombres para organizar sus repositorios de imágenes. Si habilita la creación automática de repositorios, podrá configurar ajustes predeterminados que se aplicarán a todos los repositorios dentro de este espacio de nombres.

  1. Inicie sesión en la consola de Container Registry.

  2. En la barra de navegación superior, seleccione una región.

  3. En el panel de navegación izquierdo, haga clic en Instances.

  4. En la página Instances, haga clic en la instancia de Enterprise Edition donde desea crear el espacio de nombres.

  5. En el panel de navegación izquierdo, elija Repository > Namespace.

  6. En la página Namespace, haga clic en Create Namespace.

  7. En el cuadro de diálogo Create Namespace, configure Namespace y establezca Automatically Create Repository en On o Off. Luego, haga clic en Confirm.

    Si establece Automatically Create Repository en On, configure los siguientes parámetros:

    Parámetro

    Descripción

    Repository Type

    Seleccione Public o Private. Public: de forma predeterminada, las imágenes públicas requieren que los usuarios inicien sesión en la instancia antes de extraerlas. Para permitir extracciones anónimas, habilite el ajuste de extracción anónima pública de la instancia. Dado que cualquier usuario no autorizado puede extraer imágenes de repositorios públicos, configure los repositorios como Private para proteger sus datos. Private: los usuarios deben iniciar sesión en la instancia y contar con autorización de permiso Pull antes de extraer imágenes privadas.

    Immutable Image Tags

    Seleccione Flexible o Immutable. Cuando se establece en Immutable, ninguna etiqueta de imagen se puede sobrescribir, excepto latest.

    Accelerated Image

    Al habilitarse, se genera automáticamente una versión acelerada de cada imagen después de enviarla. La imagen acelerada incluye el sufijo _accelerated en su etiqueta.

Paso 3: Crear un repositorio de imágenes

Nota

Las imágenes aceleradas solo se pueden compilar en instancias de Container Registry Standard Edition o Advanced Edition. Actualice las instancias de Basic Edition a Standard Edition o Advanced Edition antes de compilar imágenes aceleradas.

Cree un repositorio de imágenes y vincúlelo a un repositorio de código fuente. Todas las imágenes compiladas desde ese repositorio de código fuente se enviarán a este repositorio de imágenes.

  1. Inicie sesión en la consola de Container Registry.

  2. En la barra de navegación superior, seleccione una región.

  3. En el panel de navegación izquierdo, haga clic en Instances.

  4. En la página Instances, haga clic en la instancia de Enterprise Edition que desea gestionar.

  5. En el panel de navegación izquierdo, elija Repository > Repositories.

  6. En la página Repositories, haga clic en Create Repository.

  7. En el asistente Repository Info, configure Namespace, Repository Name, Repository Type, Image Version, Accelerated Image, Summary y Description. Después, haga clic en Next.

  8. En el paso Code Source, configure Code Source, Build Settings y Build Rules. Luego, haga clic en Create Repository.

  9. A continuación se describen los parámetros de Build Settings:

    Parámetro

    Descripción

    Automatically Build Images When Code Changes

    Al habilitarse, la regla de compilación se activa automáticamente cuando se confirma código en una rama.

    Build With Servers Deployed Outside Chinese Mainland

    Habilítelo si su código fuente está en GitHub o Bitbucket. También actívelo si su Dockerfile descarga dependencias fuera de China y la conexión de red transfronteriza es inestable. ACR utiliza un enlace acelerado para extraer fuentes de datos externas durante la compilación. Esta opción solo está disponible en regiones específicas. Si no aparece al crear un repositorio de imágenes, significa que la región actual no es compatible con esta función.

    Build Without Cache

    Al habilitarse, ACR extrae la imagen base desde el origen cada vez e ignora las capas almacenadas en la caché. Esto puede ralentizar las compilaciones. Deshabilite esta opción para usar las capas en caché y acelerar el proceso.

    En la página Repositories, haga clic en el repositorio de imágenes creado. Si Build aparece en el panel de navegación izquierdo de la página de gestión del repositorio, el repositorio de imágenes quedó vinculado al repositorio de código fuente.

Paso 4: Compilar una imagen

Configure reglas de compilación para definir cómo y cuándo ACR compila imágenes desde su repositorio. Después, active una compilación y compruebe el resultado.

Nota

Si no encuentra Build en la página de gestión del repositorio, la instancia no está vinculada a la plataforma de hosting de código. Vuelva a Step 1 para vincular la instancia de nuevo.

  1. Inicie sesión en la consola de Container Registry.

  2. En la barra de navegación superior, seleccione una región.

  3. En el panel de navegación izquierdo, haga clic en Instances.

  4. En la página Instances, haga clic en la instancia de Enterprise Edition que desea gestionar.

  5. En el panel de navegación izquierdo de la página de detalles de la instancia, elija Repository > Repositories.

  6. En la página Repositories, busque el repositorio de imágenes que creó y haga clic en Manage en la columna Actions.

  7. En el panel de navegación izquierdo, haga clic en Build. En la sección Build Rules, haga clic en Add Build Rule. En el paso Build Information, configure los siguientes parámetros y luego haga clic en Next.

    Parámetro

    Descripción

    Type

    El tipo de repositorio de código fuente. Valores válidos: Branch y Tag.

    Branch/Tag

    Seleccione o introduzca una rama o etiqueta. Se admiten expresiones regulares. Por ejemplo, si introduce release-(?<imageTag>\w*), ACR compila automáticamente una imagen cuando se actualiza el código fuente de la rama release-v1. Para obtener más información sobre grupos de captura con nombre, consulte Uso de expresiones regulares en grupos de captura con nombre.

    Nota

    Cuando utiliza una expresión regular, solo ACR puede activar compilaciones. No se admiten compilaciones manuales.

    Build Context Directory

    El directorio que contiene el Dockerfile, relativo a la raíz de la rama o etiqueta. Por ejemplo, si la rama es master y el Dockerfile se encuentra en la raíz de la rama, establézcalo en /.

    Dockerfile Filename

    El nombre del Dockerfile. El nombre predeterminado es Dockerfile.

  8. En el paso Tag, configure los siguientes parámetros, haga clic en Save y luego en Next.

    Nota

    Haga clic en Add Configuration para agregar etiquetas de imagen. Puede agregar hasta tres etiquetas de imagen.

    Parámetro

    Descripción

    Image Tag

    La etiqueta de la imagen compilada, por ejemplo, latest. Se admiten grupos de captura con nombre. Si definió un grupo de captura con nombre en Branch/Tag, haga referencia aquí al valor capturado.

    Build Time

    (Opcional) La hora (UTC+8) en la que se envió el código fuente. Formatos aceptados: 20201015 o 202010151613.

    Nota

    Si configura este parámetro, solo ACR puede activar compilaciones. No se admiten compilaciones manuales.

    Commit ID

    (Opcional) La cantidad de caracteres que se utilizarán del ID de confirmación del código enviado más recientemente. De forma predeterminada, se usan los primeros seis caracteres. Ajuste el control deslizante para cambiar esta cantidad.

    Nota

    Si configura este parámetro, solo ACR puede activar compilaciones. No se admiten compilaciones manuales.

  9. En el paso Build Configurations, configure los siguientes parámetros y luego haga clic en Next.

    Parámetro

    Descripción

    Build Architecture

    Seleccione una o más arquitecturas de destino. Si selecciona varias arquitecturas, ACR genera una imagen independiente para cada una bajo la misma etiqueta.

    Build Parameters

    Pares clave-valor que se pasan al proceso de compilación. Los nombres de los parámetros distinguen entre mayúsculas y minúsculas. Configure hasta 20 parámetros de compilación al hacer clic en Add Configuration.

  10. Active una compilación mediante uno de los siguientes métodos:

    • En la sección Build Rules de la página Build, busque la regla de compilación y haga clic en Build en la columna Actions.

    • Envíe una confirmación de código a la rama configurada del repositorio de código fuente para activar la regla de compilación automáticamente.

  11. Supervise la compilación: en la sección Build Log, busque la tarea de compilación de la imagen y haga clic en Log en la columna Actions para consultar el registro de compilación. Para detener una compilación en ejecución, haga clic en Cancel en la columna Actions.

  12. Compruebe el resultado: en el panel de navegación izquierdo, haga clic en Image Tag. Si la imagen que compiló aparece en la lista, la compilación fue exitosa.

    En el panel de navegación izquierdo, haga clic en Image Tag. Si se muestra la imagen que creó, la imagen se compiló correctamente.

Ejemplos

Los dos ejemplos siguientes ilustran configuraciones comunes de reglas de compilación. El ejemplo 1 es una configuración sencilla que admite compilaciones manuales y automáticas. El ejemplo 2 utiliza una expresión regular para crear etiquetas de imagen versionadas a partir de los nombres de ramas de lanzamiento, y solo admite compilaciones automáticas.

Ejemplo 1: Compilar desde la rama principal (se permiten compilaciones manuales)

Objetivo: compilar una imagen con la etiqueta latest desde la rama main, que se pueda activar manualmente o de forma automática al enviar código.

Parámetro

Valor

Type

Branch

Branch/Tag

main

Build Context Directory

/

Dockerfile Filename

Dockerfile

Image Tag

latest

Resultado: cuando hace clic en Build o cuando se actualiza el código fuente de la rama main, ACR compila la imagen con el Dockerfile del directorio raíz de dicha rama. La imagen compilada recibe la etiqueta latest.

Como Build Time y Commit ID no están configurados, usted puede activar compilaciones manualmente.

Ejemplo 2: Compilar desde una rama coincidente con una expresión regular (no se permiten compilaciones manuales)

Objetivo: compilar automáticamente imágenes versionadas desde ramas de lanzamiento, donde el nombre de la rama determina la etiqueta de la imagen.

Parámetro

Valor

Type

Branch

Branch/Tag

release-(?<imageTag>\w*)

Build Context Directory

/

Dockerfile Filename

Dockerfile

Image Tag

${imageTag}

Build Time

yyyyMMddHHmm

Commit ID

30

Resultado: cuando se actualiza el código fuente de una rama cuyo nombre comienza con release-, ACR compila una imagen automáticamente. La expresión regular release-(?<imageTag>\w*) captura la parte de la versión del nombre de la rama y la asigna a la variable imageTag, que luego se utiliza en la etiqueta de la imagen.

Por ejemplo, un envío a la rama release-v1 captura v1 como imageTag. Combinado con la hora de compilación y el ID de confirmación, la etiqueta de imagen resultante es: v1-202010151625-d4ef3dc3b77a011a5779eec7efdd45.

Dado que Build Time y Commit ID están configurados, solo ACR puede activar esta compilación. No se admiten compilaciones manuales.

Qué hacer a continuación

Una vez compilada la imagen, utilícela en clústeres de Container Service for Kubernetes (ACK) de cualquiera de las siguientes maneras: