Sommaire
- Docker Hub
- Administrer les images
- Registry Local
Pour ce TP, je prends en considération que je suis authentifié en tant qu’utilisateur Root et que je suis sur une Virtual Machine Debian 9 Stretch avec Docker à bord.
1.1)Docker Hub
Les fonctionnalités du Hub:
- C’est des dépôts d’images communautaires et officielles
- Intégration de GitHub et Bitbucket
- Créations automatisées à partir de code source, mise à jour des images à partir du nouveau code
- Organisations: Créez des groupes de travail
Pour accéder à toutes ces fonctionnalités et dépôts il vous faut un Docker ID:
Dans Explore on retrouve les dépôts officiels et comment les utiliser:
On peut aussi créer son propre dépôt, assez pratique pour exporter et partager ses images de containers dans Create Repository:
On a désormais accès à notre dépôt:
1.2)Administrer les images
Pour info, cette commande permet de connaître la version de l’os chargé dans le container :
uname -a
On peut lister les images présentes sur notre système avec la commande suivante:
docker images
On peut chercher des images précises de cette façon, par exemple si on cherche une image d’un container Nginx:
docker search nginx | more
On peut récupérer l’image d’un dépôt avec cette commande, par exemple si on veut charger l’image officielle d’Nginx:
docker pull docker.io/nginx
On peut lister toutes les commandes Docker avec le mot « image » compris de cette façon:
docker | grep image
On peut taguer l’image pour la différencier des autres:
docker tag docker.io/debian mathisthuault/mat:ubuntu
On peut ensuite si on le souhaite l’envoyer sur notre dépôt, en se connectant au Docker Hub puis en pushant l’image:
docker login --username=votreusername --password=votrepassword
docker push mathisthuault/mat:ubuntu
On peut lister les images présentes sur notre dépôt de cette façon:
docker search mathisthuault/mat
On peut aussi lister les commandes d’une image, utile pour le Dockerfile:
docker history mathisthuault/mat:ubuntudocker pull docker.io/nginx
1.3)Registry Local
Le Hub Local peut-être utile dans le cas où l’on veut tester, garder ses applications en local, ou alors lorsqu’on a une petite entreprise avec un seul site et qu’on a donc pas besoin de les partager.
Pour commencer, créez votre registre Docker:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
Les options:
-d = Pour détacher, on lance le container en tache de fond et on publie l’ID du container
-p 5000:500= On redirige le port 5000
–restart=always:Permet au container de se relancer automatiquement si il y a un problème
–name registry: Permet de le nommer registry
registry:2 On précise qu’on choisit sa version 2
On peut vérifier que le container est bien lancé:
docker ps
On va maintenant tester notre registre local Docker, on doit d’abords taguer une image, (pour ma part déjà présente) pour la différencier:
docker tag mathisthuault/mat:ubuntu localhost:5000/ubuntudocker history mathisthuault/mat:ubuntudocker pull docker.io/nginx
Puis on l »envoie, on la push vers notre registre local Docker:
docker push localhost:5000/ubuntudocker history mathisthuault/mat:ubuntudocker pull docker.io/nginx
On peut constater que l’image a bien été envoyée, « pushed » en Anglais, et si on fait un pull désormais on pourra récupérer cette image depuis le registre local.
Source:https://hackernoon.com/create-a-private-local-docker-registry-5c79ce912620
Laisser un commentaire