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.
Création d’une image personnalisée et envoi (push) vers Amazon ECR
Cette page fournit des instructions sur la façon de générer un Dockerfile local, de générer l’image de conteneur et de l’ajouter à Amazon Elastic Container Registry (Amazon ECR).
Note
Dans les exemples suivants, les balises ne sont pas spécifiées et la balise latest est appliquée par défaut. Si vous souhaitez spécifier une balise, vous devez ajouter : à la fin des noms des images. Pour plus d’informations, consultez docker image tagtag
Rubriques
Création d’un fichier Docker local et génération de l’image de conteneur
Utilisez les instructions suivantes pour créer un fichier Docker avec le logiciel et les dépendances de votre choix.
Pour créer votre fichier Docker
-
Définissez d'abord vos variables pour les AWS CLI commandes qui suivent.
LOCAL_IMAGE_NAME=local-image-nameest le nom de l’image de conteneur sur votre appareil local, que vous définissez ici.local-image-name -
Créez un document texte, nommé
Dockerfile, qui répond aux spécifications définies dans Spécifications d’images personnalisées.Vous trouverez des exemples de
Dockerfilepour les applications prises en charge dans Exemples de fichiers Docker.Note
Si vous apportez votre propre image à SageMaker Unified Studio, vous devez suivre les spécifications Dockerfile du guide de l'utilisateur d'Amazon SageMaker Unified Studio.
Dockerfilevous trouverez des exemples d' SageMaker Unified Studio dans l'exemple Dockerfile du guide de l'utilisateur d'Amazon SageMaker Unified Studio. -
Dans le répertoire contenant votre
Dockerfile, générez l’image Docker à l’aide de la commande suivante. Le point (.) spécifie que leDockerfiledoit être dans le contexte de la commande de génération.docker build -t ${LOCAL_IMAGE_NAME} .Une fois la génération terminée, vous pouvez répertorier les informations relatives à votre image de conteneur à l’aide de la commande suivante.
docker images -
(Facultatif) Vous pouvez tester votre image en utilisant la commande suivante.
docker run -it ${LOCAL_IMAGE_NAME}Dans la sortie, vous constaterez que votre serveur s’exécute au niveau d’une URL, comme
http://127.0.0.1:8888/.... Vous pouvez tester l’image en copiant l’URL dans le navigateur.Si cela ne fonctionne pas, vous devrez peut-être inclure
-pdans la commande d’exécution de Docker. Cette option mappe le port exposé du conteneur à un port du système hôte. Pour plus d’informations sur l’exécution de Docker, consultez Running containersport:portdans la documentation Docker. Une fois que vous avez vérifié que le serveur fonctionne, vous pouvez arrêter le serveur et arrêter tous les noyaux avant de continuer. Les instructions sont visibles dans la sortie.
Ajout d’une image Docker à Amazon ECR
Pour ajouter une image de conteneur dans Amazon ECR, vous devez effectuer les opérations suivantes.
-
créer un référentiel Amazon ECR ;
-
Connectez-vous à votre registre par défaut.
-
Transmettez l’image dans le référentiel Amazon ECR.
Note
Le référentiel Amazon ECR doit se trouver dans le même domaine Région AWS que le domaine auquel vous joignez l'image.
Pour générer et envoyer (push) l’image de conteneur à Amazon ECR
-
Définissez d'abord vos variables pour les AWS CLI commandes qui suivent.
ACCOUNT_ID=account-idREGION=aws-regionECR_REPO_NAME=ecr-repository-name-
est votre ID de compte. Vous pouvez le trouver en haut à droite de n'importe quelle page de AWS console. Par exemple, la console SageMaker AIaccount-id. -
est celui Région AWS de votre domaine Amazon SageMaker AI. Vous pouvez le trouver en haut à droite de n'importe quelle page de AWS console.aws-region -
est le nom de votre référentiel Amazon Elastic Container Registry, que vous définissez ici. Pour consulter vos référentiels Amazon ECR, consultez la console Amazon ECRecr-repository-name.
-
-
Connectez-vous à Amazon ECR et connectez-vous à Docker.
aws ecr get-login-password \ --region ${REGION} | \ docker login \ --username AWS \ --password-stdin ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.comEn cas d’authentification réussie, vous recevrez un message de connexion réussie.
Important
Si vous recevez une erreur, vous pourrez avoir à installer la dernière version de l’ AWS CLI ou à effectuer une mise à niveau vers cette version. Pour plus d’informations, consultez Installation d’ AWS Command Line Interface dans le Guide de l’utilisateur AWS Command Line Interface .
-
Balisez l’image dans un format compatible avec Amazon ECR, à envoyer (push) vers votre référentiel.
docker tag \ ${LOCAL_IMAGE_NAME} \ ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME} -
Créez un référentiel Amazon ECR à l’aide de la AWS CLI. Pour créer le référentiel à l’aide de la console Amazon ECR, consultez Création d’un référentiel privé Amazon ECR pour stocker des images.
aws ecr create-repository \ --region ${REGION} \ --repository-name ${ECR_REPO_NAME} -
Envoyez (push) l’image vers votre référentiel Amazon ECR. Vous pouvez également baliser l’image Docker.
docker push ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
Une fois que l’image a été correctement ajoutée à votre référentiel Amazon ECR, vous pouvez la visualiser dans la console Amazon ECR