Docker:Administration | Partie 1) Les images docker

Sommaire


  1. Docker Hub
  2. Administrer les images
  3. 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:

dockerh.PNG

Dans Explore on retrouve les dépôts officiels et comment les utiliser:

dockerh1.PNG

On peut aussi créer son propre dépôt, assez pratique pour exporter et partager ses images de containers dans Create Repository:

repo.PNG

On a désormais accès à notre dépôt:

repo1

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

docherh2

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

docherh3

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

dockerh2.PNG

On peut lister toutes les commandes Docker avec le mot « image » compris de cette façon:

docker | grep image

dockerh3.PNG

On peut taguer l’image pour la différencier des autres:

docker tag docker.io/debian mathisthuault/mat:ubuntu

tag.PNG

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

push.PNG

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

history.PNG

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

registry.PNG

On peut vérifier que le container est bien lancé:

docker ps

registry1.PNG

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

pushed.PNG

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

Un site Web propulsé par WordPress.com.

Retour en haut ↑