Container Registry está obsoleto. A partir del 18 de marzo de 2025, Container Registry se cerrará y no se podrán escribir imágenes en él. Para obtener más información sobre la baja de Container Registry y cómo migrar a Artifact Registry, consulta Baja de Container Registry.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se proporciona información sobre las prácticas recomendadas para compilar y ejecutar las imágenes de contenedores.
Compila contenedores
El enfoque que adoptes para compilar imágenes de contenedor puede afectar la velocidad de las compilaciones y las implementaciones, así como el esfuerzo necesario para mantener tus imágenes.
Cuando usas imágenes de fuentes públicas, como Docker Hub, introduces en tu cadena de suministro de software código que tu organización no controla. Para mitigar el riesgo, puedes hacer lo siguiente:
Crea tus propias imágenes para controlar el contenido de las imágenes.
Usa una imagen base estandarizada y compila sobre ella.
Analiza las imágenes en busca de vulnerabilidades y aborda las vulnerabilidades identificadas.
Aplica estándares y políticas a las imágenes que implementes.
Cómo hacer públicos tus registros
Puedes hacer público el registro de tu proyecto Google Cloud si otorgas acceso de lectura en el bucket de almacenamiento del registro a la identidadallUsers.
Si todos tus usuarios tienen cuentas de Google Cloud , puedes limitar el acceso a los usuarios autenticados con la identidad deallAuthenticatedUsers.
Ten en cuenta los siguientes lineamientos antes de hacer público un registro:
Verifica que todas las imágenes que almacenes en el registro se puedan compartir públicamente y no expongan credenciales, datos personales ni datos confidenciales.
Se te cobra por la salida de red cuando los usuarios extraen imágenes.
Si esperas mucho tráfico de descarga de Internet, ten en cuenta los costos asociados.
Según la configuración predeterminada, los proyectos tienen una cuota por usuario ilimitada.
Para evitar abusos, limita las cuotas por usuario en tu proyecto.
Cómo quitar las imágenes que no se usan
Quita las imágenes de contenedores que no se usen para reducir los costos de almacenamiento y mitigar los riesgos de usar software más antiguo. Existen varias herramientas disponibles para ayudarte con esta tarea, incluida gcr-cleaner. La herramienta gcr-cleaner no es un producto oficial de Google.
Evalúa la seguridad de los contenedores
El Centro para la seguridad en Internet (CIS) tiene una referencia de Docker para evaluar la seguridad de un contenedor de Docker.
Docker proporciona una secuencia de comandos de código abierto llamada Docker Bench for Security.
Puedes usar la secuencia de comandos para validar un contenedor de Docker en ejecución en relación con la referencia de Docker de CIS.
Docker Bench for Security puede ayudarte a verificar muchos elementos en la referencia de Docker de CIS, pero no todos los elementos se pueden verificar con la secuencia de comandos.
Por ejemplo, la secuencia de comandos no puede verificar si el host del contenedor está endurecido o si la imagen del contenedor incluye datos personales. Revisa todos los elementos de la referencia y también identifica aquellos que podrían necesitar una verificación adicional.
Protege las implementaciones
Obtén información sobre cómo compilar una cadena de suministro de software seguro y cómo usar el análisis de vulnerabilidades y la autorización binaria en Google Cloud para definir y aplicar las políticas a la implementación.
También puedes mirar un video sobre cómo proteger tu cadena de suministro de software.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eThis page details best practices for building and managing container images, which directly impacts build and deployment speed, as well as maintenance efforts.\u003c/p\u003e\n"],["\u003cp\u003eWhen using images from public sources, it is recommended to build your own, use a standardized base image, scan for vulnerabilities, and enforce deployment policies to enhance security.\u003c/p\u003e\n"],["\u003cp\u003eBefore making registries public, ensure images are shareable, be aware of network egress costs, and consider capping per-user quota to prevent abuse.\u003c/p\u003e\n"],["\u003cp\u003eRemoving unused container images helps reduce storage costs and mitigate risks associated with using outdated software.\u003c/p\u003e\n"],["\u003cp\u003eUtilizing tools like Docker Bench for Security can help assess and improve the security of Docker containers, though some aspects require manual verification.\u003c/p\u003e\n"]]],[],null,["# Best practices for containers\n\nThis page provides information about best practices for building and running\ncontainer images.\n\nBuilding containers\n-------------------\n\nThe approach that you take to building container images can impact the\nspeed of builds and deployments, as well as the effort required to maintain\nyour images.\n\nRead the [Docker best practices](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/) for building images.\n\nConsiderations for public registries\n------------------------------------\n\nCarefully consider the following cases:\n\nUsing images from public sources\n\n: When you use images from public sources such as Docker Hub, you are\n introducing code that your organization does not control into your software\n supply chain. To mitigate risk, you can:\n\n - Build your own images to control image content.\n - Use a standardized base image and build on top of that image.\n - Scan images for vulnerabilities and address identified vulnerabilities.\n - Enforce standards and policies on images you deploy.\n\nMaking your registries public\n\n: You can make the registry in your Google Cloud project public by granting\n read access on the registry storage bucket to the `allUsers` identity.\n\n If all your users have Google Cloud accounts, you can limit access\n to authenticated users with the `allAuthenticatedUsers` identity instead.\n\n Consider the following guidelines before making a registry public:\n\n - Verify that all images you store in the registry are sharable publicly and do not expose credentials, personal data, or confidential data.\n - You are charged for [network egress](/container-registry/docs/pricing) when users pull images. If you expect a lot of internet download traffic, consider the associated costs.\n - By default, projects have unlimited per-user [quota](/container-registry/quotas). To prevent abuse, [cap](/docs/quotas/view-manage#capping_usage) per-user quotas within your project.\n\nRemoving unused images\n----------------------\n\nRemove unused container images to reduce storage costs and mitigate the risks of\nusing older software. There are a number of tools available to help with\nthis task, including [gcr-cleaner](https://github.com/sethvargo/gcr-cleaner). The gcr-cleaner tool is not an official Google product.\n| **Warning:** Do not use Cloud Storage \\[object lifecycle management\\] with Container Registry storage buckets. Lifecycle management does not work with images stored in Container Registry.\n\nAssessing container security\n----------------------------\n\nThe Center for Internet Security (CIS) has a [Docker Benchmark](https://www.cisecurity.org/benchmark/docker/) for evaluating\nthe security of a Docker container.\n\nDocker provides an open source script called [Docker Bench for Security](https://github.com/docker/docker-bench-security).\nYou can use the script to validate a running Docker container against the CIS\nDocker Benchmark.\n\nDocker Bench For Security can help you verify many items in the CIS Docker\nBenchmark, but not all items are verifiable with the script.\nFor example, the script cannot verify if the host for the container is hardened\nor if the container image includes personal data. Review all items in the\nbenchmark and identify those that might need additional verification.\n\nSecuring deployments\n--------------------\n\nLearn about building a [secure software supply chain](/software-supply-chain-security/docs/overview) and\nhow to use vulnerability scanning and Binary Authorization on Google Cloud to define\nand enforce policies for deployment.\n\nYou can also watch a video that describes securing your software supply chain."]]