Container Registry est obsolète. Container Registry est arrêté depuis le 18 mars 2025 et l'écriture d'images dans Container Registry n'est plus disponible. Pour en savoir plus sur l'abandon de Container Registry et sur la migration vers Artifact Registry, consultez la page Abandon de Container Registry.
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page présente les bonnes pratiques à suivre pour créer et exécuter des images de conteneurs.
Créer des conteneurs
L'approche que vous adoptez pour créer des images de conteneurs peut avoir un impact sur la vitesse des builds et des déploiements, ainsi que sur les efforts nécessaires pour assurer la maintenance de vos images.
Utiliser des images provenant de sources publiques
Lorsque vous utilisez des images provenant de sources publiques telles que Docker Hub, vous introduisez dans votre chaîne d'approvisionnement logicielle du code que votre organisation ne contrôle pas. Pour atténuer les risques, vous pouvez :
Créez vos propres images pour contrôler leur contenu.
Utilisez une image de base standardisée et créez votre image à partir de celle-ci.
Analysez les images pour détecter les failles et corrigez celles qui sont identifiées.
Appliquez des normes et des règles aux images que vous déployez.
Rendre vos registres publics
Vous pouvez rendre le registre de votre projet Google Cloud public en accordant un accès en lecture au bucket de stockage du registre à l'identitéallUsers.
Si tous vos utilisateurs disposent de comptes Google Cloud , vous pouvez limiter l'accès aux utilisateurs authentifiés avec l'identité allAuthenticatedUsers.
Tenez compte des consignes suivantes avant de rendre un registre public :
Vérifiez que toutes les images que vous stockez dans le registre peuvent être partagées publiquement et n'exposent pas d'identifiants, de données à caractère personnel ni de données confidentielles.
Des frais de sortie réseau vous sont facturés lorsque les utilisateurs extraient des images.
Si vous prévoyez un trafic de téléchargement Internet important, tenez compte des coûts associés.
Par défaut, les projets ont un quota par utilisateur illimité.
Pour éviter les utilisations abusives, limitez les quotas par utilisateur dans votre projet.
Supprimer les images inutilisées
Supprimez les images de conteneur inutilisées pour réduire les coûts de stockage et atténuer les risques liés à l'utilisation d'anciens logiciels. Plusieurs outils sont disponibles pour vous aider dans cette tâche, y compris gcr-cleaner. L'outil gcr-cleaner n'est pas un produit Google officiel.
Évaluer la sécurité des conteneurs
Le CIS (Center for Internet Security) dispose d'un benchmark Docker permettant d'évaluer la sécurité d'un conteneur Docker.
Docker fournit un script Open Source appelé Docker Bench for Security.
Vous pouvez exécuter ce script pour vérifier qu'un conteneur Docker en cours d'exécution respecte certains critères du benchmark Docker du CIS.
Le script Docker Bench for Security vous permet de vérifier de nombreux éléments dans le benchmark Docker du CIS. Cependant, tous les éléments ne sont pas vérifiables avec le script.
Par exemple, le script ne peut pas vérifier si l'hôte du conteneur est renforcé ou si l'image du conteneur inclut des données à caractère personnel. Examinez tous les éléments du benchmark et identifiez ceux qui peuvent nécessiter une validation supplémentaire.
Sécuriser les déploiements
Découvrez comment créer une chaîne d'approvisionnement logicielle sécurisée, et comment définir et appliquer des règles de déploiement à l'aide de l'analyse des failles et de l'autorisation binaire sur Google Cloud .
Vous pouvez également regarder une vidéo qui décrit comment sécuriser votre chaîne d'approvisionnement logicielle.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]