Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
technique:docker:mise_en_place_d_un_registry_docker [2020/09/30 16:32] – qduchemi | technique:docker:general:mise_en_place_d_un_registry_docker [2021/11/24 01:29] – [Utilisation] qduchemi | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{indexmenu_n> | + | {{indexmenu_n> |
- | ======Mise en place d' | + | # Registre Docker pour stocker les images |
- | Lorsque l'on utilise Docker, il y a différentes possibilités pour utiliser | + | |
- | ====Build manuel==== | + | À partir |
- | La première solution sans doute la plus simple consiste à mettre le Dockerfile sur les machines qui nous intéressent et à construire cette image localement à l'aide de la commande : | + | |
+ | < | ||
+ | |||
+ | ## Partager le Dockerfile | ||
+ | |||
+ | La première solution sans doute la plus simple consiste à mettre le `Dockerfile` sur les machines qui nous intéressent et à construire cette image localement à l'aide de la commande : | ||
<code bash> | <code bash> | ||
$ docker build -t mon_image . | $ docker build -t mon_image . | ||
</ | </ | ||
- | Cette solution fonctionne, mais est longue. En cas de changement sur l' | ||
- | ====Docker Hub==== | + | Similairement, |
- | La seconde solution est d' | + | Cette solution fonctionne, mais présente plusieurs problèmes : |
- | Cette solution fonctionne | + | |
- | ====Registry privé==== | + | * Un `Dockerfile` n' |
+ | * Construire une image peut être long (téléchargement de paquets, compilation...) : c'est très consommateur de ressource. | ||
- | La solution | + | Une solution |
- | =====Utilisation===== | + | ## Docker Hub |
- | On utilise les fichiers présents sur le dépôt `dockerfiles`, | + | C'est ce que propose |
- | Maintenant que le registy | + | À chaque modification du `Dockerfile`, |
+ | |||
+ | Cette solution fonctionne bien, mais impose d' | ||
+ | |||
+ | < | ||
+ | |||
+ | ## Registre privé | ||
+ | |||
+ | La solution retenue consiste à utiliser un registre privé pour stocker nos images. En opposition, le Docker Hub est un registre public. | ||
+ | |||
+ | < | ||
+ | |||
+ | Ainsi, on est pas obligé de reconstruire les images chaque fois que l'on veut les utiliser, on peut les partager avec qui on veut, et on maîtrise l' | ||
+ | |||
+ | ## Utilisation | ||
+ | |||
+ | < | ||
+ | |||
+ | On peut alors pousser des images | ||
<code bash> | <code bash> | ||
+ | # Exemple de construction d' | ||
$ docker build -t monimage . | $ docker build -t monimage . | ||
$ docker tag monimage registry.picasoft.net/ | $ docker tag monimage registry.picasoft.net/ | ||
+ | # Pourrait être | ||
+ | $ docker-compose build | ||
+ | # Pousser l' | ||
$ docker push registry.picasoft.net/ | $ docker push registry.picasoft.net/ | ||
</ | </ | ||
- | Sur les client, il faut au préalable se logger: | + | Sur une autre machine, la récupération de l' |
+ | <code bash> | ||
+ | $ docker pull registry.picasoft.net/ | ||
+ | </ | ||
+ | |||
+ | < | ||
<code bash> | <code bash> | ||
$ docker login registry.picasoft.net | $ docker login registry.picasoft.net | ||
- | Username (pica): | + | Username (pica): |
Password: | Password: | ||
Login Succeeded | Login Succeeded | ||
</ | </ | ||
- | <code bash> | ||
- | $ docker pull registry.picasoft.net/ | ||
- | </ | ||
- | |||
- | En pratique, on utilise en général les commandes de Docker Compose pour construire, pousser et récupérer les images. | ||
- | |||
- | =====Archi Picasoft===== | ||
- | |||
- | Picasoft possède son propre registry privé. Celui-ci se trouve sur la machine '' |