Lorsque des tâches Amazon Elastic Container Service (Amazon ECS) démarrent dans mon service, une ancienne image de conteneur est utilisée. De plus, lorsque je supprime l'ancienne image du conteneur, la tâche ne démarre pas et je reçois une erreur « CannotPullContainer ».
Brève description
Lorsque vous déployez une image de conteneur sur un service, l’identification de l'image de conteneur est résolue dans le résumé de l'image de conteneur. Le résumé contient les métadonnées faisant autorité pour l'image, de sorte que les modifications apportées à l'image de conteneur ne sont pas reflétées tant que vous ne déployez pas à nouveau l'image de conteneur. Une fois que vous avez redéployé une image de conteneur sur un service, le résumé est mis à jour.
Pour plus d'informations, consultez la section Résolution de l'image de conteneur et Annonce de la cohérence de la version du logiciel pour Amazon ECS.
Résolution
Mettre à jour votre service ECS
Pour mettre à jour le résumé de l'image, utilisez la console Amazon ECS ou l'interface de ligne de commande AWS (AWS CLI) pour forcer un nouveau déploiement.
Console Amazon ECS
Pour utiliser la console Amazon ECS, consultez la section Mise à jour d'un service Amazon ECS à l'aide de la console.
AWS CLI
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de ligne de commande AWS, consultez la section Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez la version la plus récente de l’AWS CLI.
Exécutez la commande update-service :
aws ecs update-service --service SERVICE_NAME --cluster CLUSTER_NAME --force-new-deployment
Remarque : Remplacez SERVICE_NAME par le nom de votre service et CLUSTER_NAME par le nom de votre cluster.
Pour utiliser systématiquement une image spécifique, spécifiez le répertoire du résumé de l'image dans la définition de tâche.
Résoudre l'erreur « CannotPullContainer »
Si vous recevez une erreur CannotPullContainer après avoir supprimé une ancienne image de conteneur, redéployez l'image de conteneur pour mettre à jour le résumé.
Pour utiliser l'image de conteneur la plus récente dotée d'une identification spécifique, mettez à jour le service et résolvez à nouveau le résumé de l'image.
Remarque : L’identification de l'image de conteneur n'est pas résolue dans les services qui utilisent le contrôleur de déploiement CODE_DEPLOY ou EXTERNAL.