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:tech_team:traefik_usage [2021/11/16 01:21] – qduchemi | technique:tech_team:traefik_usage [2023/11/24 23:52] (Version actuelle) – qduchemi | ||
---|---|---|---|
Ligne 57: | Ligne 57: | ||
Or par défaut, tous les conteneurs d'un fichier Compose sont dans leur propre réseau. Il faut donc les rajouter au réseau de Traefik. | Or par défaut, tous les conteneurs d'un fichier Compose sont dans leur propre réseau. Il faut donc les rajouter au réseau de Traefik. | ||
- | < | + | < |
+ | |||
+ | < | ||
+ | S' | ||
+ | |||
+ | ``` | ||
+ | cd / | ||
+ | docker-compose up -d | ||
+ | ``` | ||
+ | |||
+ | Ici, on commence à toucher à la manière dont Picasoft gère ses services, on ne rentre pas dans les détails, il y a une [[technique: | ||
Au niveau de notre dernier fichier Compose, ça se traduit par ceci : | Au niveau de notre dernier fichier Compose, ça se traduit par ceci : | ||
Ligne 75: | Ligne 85: | ||
On indique qu'on veut utiliser un réseau Docker qui existe par ailleurs (d'où le `external: true`), et on indique que notre service participe à ce réseau. | On indique qu'on veut utiliser un réseau Docker qui existe par ailleurs (d'où le `external: true`), et on indique que notre service participe à ce réseau. | ||
+ | ### Alors, comment on fait ? | ||
+ | |||
+ | < | ||
+ | |||
+ | Le point noir, c'est que les labels sont compliqués à comprendre, et qu'on ne peut pas les expliquer sans rentrer profondément dans les [détails de Traefik](https:// | ||
+ | |||
+ | Et on reprend notre exemple. Pour rappel, on avait un serveur web qui tournait sur `pica01-test.picasoft.net: | ||
+ | |||
+ | ```yaml | ||
+ | version: " | ||
+ | |||
+ | services: | ||
+ | quentin: | ||
+ | image: nginx: | ||
+ | container_name: | ||
+ | ports: | ||
+ | - 8081:80 | ||
+ | volumes: | ||
+ | - ./ | ||
+ | ``` | ||
+ | |||
+ | On va donc ajouter `quentin` dans le réseau `proxy`, lui indiquer qu'on veut répondre à l' | ||
+ | |||
+ | ```yaml | ||
+ | version: " | ||
+ | |||
+ | networks: | ||
+ | proxy: | ||
+ | external: true | ||
+ | | ||
+ | services: | ||
+ | quentin: | ||
+ | image: nginx: | ||
+ | container_name: | ||
+ | networks: | ||
+ | - proxy | ||
+ | labels: | ||
+ | traefik.enable: | ||
+ | traefik.http.routers.quentin.entrypoints: | ||
+ | traefik.http.routers.quentin.rule: | ||
+ | traefik.http.services.quentin.loadbalancer.server.port: | ||
+ | volumes: | ||
+ | - ./ | ||
+ | ``` | ||
+ | |||
+ | < | ||
+ | |||
+ | ### Let's go ! | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | On constate deux choses : | ||
+ | |||
+ | - Le conteneur est accessible via sa propre URL, qui donne beaucoup plus envie que celle composée du nom de la machine et du port. | ||
+ | - Cette fois ci, un `curl` simple renvoie un code HTTP 302 (`Moved Permanently`). Si on demande à `curl` de suivre les redirections (`-L`), on arrive à la bonne page. | ||
+ | |||
+ | < | ||
+ | |||
+ | C'est lié à la ligne : | ||
+ | |||
+ | ``` | ||
+ | traefik.http.routers.quentin.entrypoints: | ||
+ | ``` | ||
+ | |||
+ | Qui indique à Traefik que tout ce qui arrive à destination de ce conteneur doit passer par le point d' | ||
+ | Or quand on fait un `curl quentin.test.picasoft.net`, | ||
+ | |||
+ | < | ||
+ | |||
+ | ### Pour la curiosité... | ||
+ | |||
+ | < | ||
+ | |||
+ | ### Et maintenant ? | ||
+ | |||
+ | Bon, et bien à ce stade, tu as absolument toutes les bases pour lancer un service Picasoft ! Construire une image Docker, comprendre les réseaux, les ports et les volumes, utiliser Compose et enfin mettre le service sur internet grâce à Traefik. ^_^ | ||
+ | |||
+ | Alors peut-être qu'on peut rentrer dans le bain en [[technique: |