Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Optimisation des performances pour Amazon ECR

Mode de mise au point
Optimisation des performances pour Amazon ECR - Amazon ECR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vous pouvez utiliser les recommandations suivantes concernant les paramètres et les stratégies pour optimiser les performances lorsque vous utilisez Amazon ECR.

Utiliser Docker 1.10 et des versions ultérieures afin de bénéficier des chargements de couches simultanés

Les images Docker sont composées de couches qui constituent des étapes de création intermédiaires de l'image. Chaque ligne d'un fichier Docker crée un nouvelle couche. Lorsque vous utilisez Docker 1.10 et les versions ultérieures, Docker transmet par défaut autant de couches qu'il y a eu de chargements dans Amazon ECR, ce qui permet d'accélérer les temps de chargement.

Utiliser une image de base plus petite

Les images par défaut disponibles via Docker Hub peuvent contenir de nombreuses dépendances dont votre application n'a pas besoin. Nous vous conseillons d'utiliser une image plus petite créée et gérée par d'autres personnes de la communauté Docker, ou de créer votre propre image de base à l'aide d'une image de Docker réduite au minimum. Pour en savoir plus, consultez Créer une image de base dans la documentation Docker.

Placement des dépendances qui changent le moins plus tôt dans votre fichier Docker

Docker met en cache des couches, ce qui accélère les temps de création. S'il n'y a eu aucun changement sur une couche depuis la dernière création, Docker utilisera la version mise en cache au lieu de récréer la couche. Toutefois, chaque couche est dépendante des couches précédentes. Si une couche change, Docker recompilera non seulement cette couche, mais également toutes les couches ultérieures.

Afin de réduire le temps nécessaire à la recréation d'un fichier Docker et au rechargement des couches, pensez à placer les dépendances qui changent le moins souvent plus tôt dans votre fichier Docker. Placez les dépendances qui changent rapidement (par exemple, le code source de votre application) plus tard dans la pile.

Chaîner des commandes pour éviter le stockage de fichier inutile

Les fichiers intermédiaires créés sur une couche continuent à faire partie de cette couche, même s'ils sont supprimés dans une couche ultérieure. Prenez l’exemple suivant :

WORKDIR /tmp RUN wget http://example.com/software.tar.gz RUN wget tar -xvf software.tar.gz RUN mv software/binary /opt/bin/myapp RUN rm software.tar.gz

Dans cet exemple, les couches créées par la première et la deuxième commande RUN contiennent le fichier .tar.gz d'origine et l'ensemble de son contenu non compressé. Et ce, même si le fichier .tar.gz est supprimé par la quatrième commande RUN. Ces commandes peuvent être regroupées dans une seule instruction RUN afin d'éviter que ces fichiers inutiles fassent partie de l'image Docker finale :

WORKDIR /tmp RUN wget http://example.com/software.tar.gz &&\ wget tar -xvf software.tar.gz &&\ mv software/binary /opt/bin/myapp &&\ rm software.tar.gz
Utiliser le point de terminaison régional le plus proche

Vous pouvez réduire la latence d'extraction des images d'Amazon ECR en veillant à utiliser le point de terminaison régional le plus proche de l'emplacement d'exécution de votre application. Si votre application est exécutée sur une instance Amazon EC2, vous pouvez utiliser le code shell suivant afin d'obtenir la région de la zone de disponibilité de l'instance :

REGION=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone |\ sed -n 's/\(\d*\)[a-zA-Z]*$/\1/p')

La région peut être transmise aux AWS CLI commandes à l'aide du --region paramètre ou définie comme région par défaut pour un profil à l'aide de la aws configure commande. Vous pouvez également définir la région lorsque vous passez des appels à l'aide du AWS SDK. Pour en savoir plus , consultez la documentation du kit SDK correspondant au langage de programmation utilisé.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.