Dans ce post ci nous allons nous intéresser a la publication des images afin d'utiliser celles des autres développeurs/intégrateurs et aussi leur fournir vos propres images.
Bien avant toute chose il vous faut un compte sur le site servant de repository docker. Un fois ce compte créé, reste a se loger dans le Shell docker et si l'on reprend l'image du post precedement creer, il va falloir la tagger comme suit:
1 2 | $ docker login $ docker tag image username/repository:tag |
Ainsi vous spécifiez que l'image sera publier via votre repository (formé du username et du repo créé dans la page d'administration du site https://hub.docker.com) et d'un tag spécifiant la version de l'image. Reste a la pousser sur le serveur distant:
1 | $ docker push username/repository:tag
|
Voila votre image est en ligne!! Coooool.... non?
Bien si ça c'est cool voyons encore plus cool, la republication..... et oui car très vite le besoin se fera sentir d'utiliser une image déjà créer la reconfigurer a notre besoin puis de la republier (pour la sauvegarder ou la partager...)
Prenons un exemple. Nous allons récupérer l'image artifactory de Matt
1 | $ docker pull mattgruter/artifactory
|
Par défaut si l'on spécifie pas le tag, latest sera celui utiliser. on verifie:
1 2 3 4 5 | $ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
mattgruter/artifactory latest 77905a728def 2 days ago 493MB
|
Bien on lance un container. Je rappele la commande
1 | $ docker run -d -p 8081:8080 --name arti mattgruter/artifactory
|
On se connecte sur l'interface administrateur d'Artifactory probablement a l'adresse http://192.168.99.100:8081/artifactory (Nous verrons a une autre occasion les procédure de configuration réseau possible avec docker) et nous y faisons quelques modifications.
Nous souhaitons sauvegarder ces modifications de façon a pouvoir les réutiliser dans le cas notre container serait défaillant ou qu'il faille le recréer ailleurs. Nous allons alors faire un commit de notre container afin de le transformer en image.
On va tout d'abord récupérer l'ID du container:
1 2 3 4 5 | $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ce64f8df8020 mattgruter/artifactory "catalina.sh run" 14 minutes ago Up About a minute 0.0.0.0:8081->8080/tcp arti |
Puis faire notre commit (attention le container doit etre arreté):
1 | $ docker commit -p ce64f8df8020 arti_configured
|
Ce qui va nous donner une nouvelle image:
1 2 3 4 5 6 7 | $ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
arti_configured latest b5fd9f878fa2 3 seconds ago 538MB
mattgruter/artifactory latest 77905a728def 2 days ago 493MB
|
Tres bien on va donc tager l'image et la pousser dans notre repo:
1 2 3 | $ docker tag arti_configured username/repository:latest $ docker push username/repository:latest |
Voila notre nouvel artifactory en ligne prêt a être réutiliser au besoin! Pour le vérifier, il suffit de supprimer les images et containers locaux et de faire un pull sur notre repo et de vérifier que notre image contient bien notre configuration. (attention, a cause des log notre image peut tres vite grossir, l'exemple ci contre est pour illustrer... une meilleur méthode nécessiterai un nettoyage ou une configuration statique) Pour ceux qui ne souhaitent pas forcement pousser leur creations, le site ci contre vous expliquera comment l'exporter en local.
Voila, la prochaine fois on s’intéressera aux configurations réseaux.
Aucun commentaire:
Enregistrer un commentaire