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édenteDernière 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:30] – [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 | + | Cette solution |
+ | |||
+ | * Un `Dockerfile` n'assure pas forcément | ||
+ | * Construire une image peut être long (téléchargement de paquets, compilation...) : c'est très consommateur | ||
+ | |||
+ | Une solution idéale serait de pouvoir partager directement | ||
+ | |||
+ | ## Docker Hub | ||
+ | |||
+ | C'est ce que propose le [Docker Hub](https:// | ||
+ | |||
+ | À 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 sur le registre comme suit : | ||
+ | |||
+ | <code bash> | ||
+ | # Exemple de construction d' | ||
+ | $ docker build -t monimage . | ||
+ | $ docker tag monimage registry.picasoft.net/ | ||
+ | # Pourrait être | ||
+ | $ docker-compose build | ||
+ | # Pousser l' | ||
+ | $ docker push registry.picasoft.net/ | ||
+ | </ | ||
+ | |||
+ | Sur une autre machine, | ||
+ | |||
+ | <code bash> | ||
+ | $ docker pull registry.picasoft.net/ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | <code bash> | ||
+ | $ docker login registry.picasoft.net | ||
+ | Username: <ton login> | ||
+ | Password: | ||
+ | Login Succeeded | ||
+ | </ |