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 | ||
technique:docker:general:mise_en_place_d_un_registry_docker [2020/10/07 19:51] – ancienne révision (2020/09/11 15:47) restaurée qduchemi | technique:docker:general:mise_en_place_d_un_registry_docker [2022/05/24 20:50] (Version actuelle) – ppom | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ======Mise en place d' | + | {{indexmenu_n> |
- | Lorsque l'on utilise Docker, il y a différentes possibilités pour utiliser | + | # Registre Docker pour stocker les images |
- | ====Build manuel==== | + | |
- | La première solution sans doute la plus simple consiste à mettre le Dockerfile sur les machines qui nous intéresse | + | À partir |
+ | |||
+ | < | ||
+ | |||
+ | ## Partager le Dockerfile | ||
+ | |||
+ | La première solution sans doute la plus simple consiste à mettre le `Dockerfile` sur les machines qui nous intéressent | ||
<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'utiliser un registry mis en place par docker. Il permet de stocker ses images de manière centralisée. En cas de modification, on ne rebuild qu'une seule fois l' | + | |
- | Cette solution fonctionne bien, mais impose d' | + | |
- | ====Registry privé==== | + | Cette solution |
- | La solution | + | |
- | =====Mise en place===== | + | * Un `Dockerfile` n' |
+ | * Construire une image peut être long (téléchargement de paquets, compilation...) : c'est très consommateur de ressource. | ||
- | On utilise les fichiers présents sur le dépôt `dockerfiles`, et les instructions associées : https:// | + | Une solution idéale serait de pouvoir partager directement ses images, une fois construites. |
- | Maintenant | + | ## Docker Hub |
+ | |||
+ | C'est ce que propose | ||
+ | |||
+ | À 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 | + | Username: |
Password: | Password: | ||
Login Succeeded | Login Succeeded | ||
</ | </ | ||
- | <code bash> | ||
- | $ docker pull registry.picasoft.net: | ||
- | </ | ||
- | |||
- | =====Archi Picasoft===== | ||
- | Picasoft possède son propre registry privé. Celui-ci se trouve sur la machine '' |