Docker est une technologie qui fait grand bruit depuis plusieurs années maintenant dans le domaine de l’IT.
Tous les grands cloud publics (Amazon Web Service, Google Cloud, Microsoft Azure) proposent une solution plus ou moins intégrée pour la gestion des containers. Dans ces articles nous allons vous expliquer comment débuter avec succès sur le service managé Amazon EC2 Container Service.
Cette série d’articles suppose que vous avez créé un VPC où seront créé les instances hôtes pour les containers docker, que la CLI AWS est installée sur votre poste et nous utiliserons une image “Hello-world” (dockercloud/hello-world) disponible sur le docker hub.
1 - Création du dépôt Docker Privé (ECR)
Pour être déployé, une image de container doit être mis à disposition dans un dépôt docker. Plusieurs solutions sont disponibles, Amazon Web services (AWS) nous propose un dépôt privé managé (ECR) à un tarif intéressant (0,1$/Go/mois au 01/08/2017).
Pour déployer notre image sur ECR ( Amazon EC2 Container Registry ) nous allons tout d’abord récupérer cette image sur le docker hub.
docker pull dockercloud/hello-world
Maintenant que nous avons notre image, nous allons la déposer sur ECR. Nous allons nous connecter à la console web aws pour ecs.
1.1a – Si vous n’avez pas encore utilisé le service
Vous allez tomber sur la page “get Started”, il vous suffira alors de cliquer sur le bouton bleu “getStarted” au milieu de la page. Sur l’écran suivant (Getting Started with Amazon EC2 Container Service), décocher la case pour ne pas déployer la demo ECS (sample)
1.1b – Si vous avez déjà utilisé ECS
Il suffit de cliquer sur Repositories puis sur “Create Repository”
1.2 – Sur la page suivante
vous allez pouvoir donner un nom à votre dépôt, helloworld dans notre cas. Puis l’on passe à l’étape suivante (Next step)
1.3 – La dernière page
elle nous donne toutes les indications pour utiliser le dépôt qui vient d’être créé.
2 – Ajout d’une image sur ECR
Nous allons déposer notre image HelloWorld sur le dépôt. Pour cela nous allons nous connecter sur ECR à partir de notre machine (notre dépôt est en ireland)
aws ecr get-login --no-include-email --region eu-west-1 docker login -u AWS -p eyJwRXl…...iMSIsZnR5cGUKOiJEQWRBX0tFWSJ8 https://123456789012.dkr.ecr.eu-west-1.amazonaws.com
Nous obtenons une ligne de commande qui va nous permettre de nous connecter à ECR
docker login -u AWS -p eyJwRXl…...iMSIsZnR5cGUKOiJEQWRBX0tFWSJ8 https://123456789012.dkr.ecr.eu-west-1.amazonaws.com Login Succeeded
Nous sommes maintenant connectés, nous pouvons pousser l’image locale
docker tag dockercloud/hello-world:latest 123456789012.dkr.ecr.eu-west-1.amazonaws.com/helloworld:latest docker push 123456789012.dkr.ecr.eu-west-1.amazonaws.com/helloworld:latest
Si vous vous connectez sur la console web AWS, vous pourrez voir votre image dans le dépôt
Dans le prochain article nous allons utiliser cette image pour lancer un container docker sur ECS.
Sylvain BRUAS
Je suis architecte solution AWS depuis plus de 8 ans. J'interviens dans les grands groupes pour les aider dans leur transformation vers le cloud AWS.
Mes compétences principales sont les fondations AWS, le Dev(SecFin*)Ops et les containers.
AWS Community Builder et AWS Authorized Instructor depuis 2024