Bonjour à tous,
Liste des billets
Partie 1 : https://goo.gl/LXduJi (Présentation Docker Datacenter et Déploiement)
Partie 2 : https://goo.gl/SSXhd4 (Mise à jour des composants)
Partie 3 : https://goo.gl/5B2TGf (stockage de la DTR et sécurisation des communications)
Dans cette quatrième partie nous allons voir comment cela fonctionne côté client
Du côté client il me faut aussi faire confiance à cette CA en l’ajoutant à mon magasin de certificats de racine de confiance, l’opération est triviale sur un environnement Microsoft et peut l’être un peu moins sur un environnement Linux en fonction de la distribution utilisée 🙂
Dans mon exemple le client s’appellera docker-02 et la distribution est un CentOS 7, l’exemple sera le suivant
Je mets le certificat de la CA de la DTR sur ma machine (pour pouvoir lui faire confiance)
Je clone un repository Git avec une demo PowerShell sur Linux
Je build mon container docker à partir d’un Dockerfile
Je Tag mon image
Je me log sur ma registry Docker (Docker Datacenter DTR)
Je push mon image
Je me delog de la registry
Mon container est prêt à etre pull à partir de n’importe quel Docker Engine (Docker Datacenter UCP Engine / ou autre)
Commençons par le certificat de la CA de la DTR
Certificat récupéré précédemment voir billets précèdent (dtr-ca.crt)
Et passons maintenant à la préparation de l’environnement
Je prépare mon environnement de travail et je clone mon repository Git
Si vous utilisez le certificat autosigné (ce qui ne devrait pas etre le cas en production) il faut ajouter le certificat de la CA sur votre poste de travail
Dans /etc/pki/ca-trust/source/anchors/
Poser dans dtr-ca.crt
ll /etc/pki/ca-trust/source/anchors/
update-ca-trust
update-ca-trust extract
update-ca-trust check
Et c’est bon pour la partie CA, car si le certificat n’est pas trusté la connexion sera refusée
mkdir axians
cd axians/
git clone https://gitlab.vpack.fr/acosteseque/docker-posh.git
cd docker-posh/
ll
Le contenu est simple mon Dockerfile pour build mon container 🙂
Je commence par récupérer l’alpha 10 (au moment de l’écriture de ce billet) dans mon espace de travail, le Dockerfile contient une étape qui copiera le fichier d’install à l’intérieur du contenair
Puis je lance le build
docker build -t axians/powershelldemo .
Mon image est bien presente, je vais maintenant la tagger
docker tag axians/powershelldemo:latest axiansregistry.ukwest.cloudapp.azure.com/axians/powershelldemo:latest
Je peux maintenant me loger sur ma registry Docker Datacenter DTR, en fournissant mes credentials
docker login axiansregistry.ukwest.cloudapp.azure.com
Il ne reste plus qu’à push l’image vers la registry 🙂
docker push axiansregistry.ukwest.cloudapp.azure.com/axians/powershelldemo:latest
On voit les différents layers (couches) de l’image partir dans la registry
L’image est maintenant complete sur la registry
Je peux si besoin me deloger de la registry
docker logout axiansregistry.ukwest.cloudapp.azure.com
Du côté de la DTR on voit bien sur la portail la présence de mon tag « latest » pour l’image powershelldemo
A partir de maintenant je peux pull cette image à partir de n’importe quel Docker Engine ! 🙂
Regardons du côté UCP
Dans Images > bouton « Pull Image »
Il ne me reste plus qu’à déployer un nouveau container à partir de mon image powershelldemo 🙂
Pour toutes questions n’hésitez pas.
Bonne lecture.
Anthony Costeseque