on.
Historiquement Apache et Nginx on offert le service de reverse proxy pour des applications monolithiq... tions monolithiques ont été réorganisées en micro-services interdépendants, communicants et extensibles(sca... de de vie peut ainsi être associé à chaque micro-service. Pour chaque nouvelle application, on passe génér... étapes suivantes:
* création /développement du service applicatif
* création des fichiers de configura
ous.
<file yml docker-compose.yml>
version: '3'
services:
reverse-proxy:
# On utilise l'image Docke... se up -d reverse-proxy
# Pour vérifier l’état du service
docker-compose ps
</code>
Traefik fournit les in... cours d’exécution, nous pouvons créer un nouveau service, pour cela nous allons ajouter ce service dans le fichier docker-compose.yml
<file yml>
whoami:
# m
oduit lorsque traefik construit une route vers un service dans un conteneur connecté à différents réseaux. Traefik peux récupérer l'IP du service sur un réseau auquel il n'est pas autorisé.
Pour lever toute ambiguïté, lorsque un service est connecté à plusieurs réseaux, il faut définir "**traefik.docker.network**" dans les labels du service.
Pour vérifier quelle interface réseau Traefik
fichiers etc).
docker-compose orchestre/gère des services. Un service est composé d'un ou plusieurs conteneurs.
docker-compose est paramétré via un fichier texte... cker-compose build
</code>
Lance l’exécution des services définis, construit les images si nécessaire
<cod... ash>
docker-compose up -d
</code>
Pour gérer les services:
<code bash>
#etat des services
docker-compose p
rrer l’exécution de plusieurs instances d'un même service via l'argument **%%--scale%%**. Par défaut, comme toutes les instances du service partagent la même configuration elles adoptent le... tement:
<code bash>
docker-compose up -d --scale service_1=3 --scale service_n=5
</code>
Dans cet exemple on instancie 3 conteneurs pour "service_1" et 5 conteneu
érieur =====
Pour accèder au conteneur (et à ses services) depuis l'extérieur du réseau dans lequel il est... net: 172.24.0.0/16
gateway: 172.24.0.1
services:
srv_1:
...
networks:
vnet:
... inir des noms d’hôtes alternatifs via lesquels un service pourra être atteint au sein d'un réseau.
<file Y... oring:
external:
name: vnet-monitoring
services:
node-exporter:
image: prom/node-exporter:
compose'' crée un réseau dédié au sein duquel les services définis peuvent se contacter les uns les autres directement via le nom du service. Ce réseau dédié est isolé. Pour qu'un service soit joignable de l'extérieur il faudra déclarer un NAT.
P... r exemple, ci-dessous le docker-compose déclare 2 services
<file YAML>
</file>
<code bash>
# Instanciati
alisation produite par le driver loki ======
Les services docker-compose sont paramétrés pour communiquer avec le service loki mais aucun log n'est intégré dans la base Lo... docker et loki:
<code>
sudo journalctl -u docker.service | grep loki
</code>
Ci-dessous un extrait retour... on. Il faut noter que ce n'est pas directement le service qui communique avec Loki mais le daemon Docker. P
y racine}}
====== Modifier le root applicatif du service Docker ======
Par défaut Docker stocke l'ensembl... == Migration du root applicatif =====
Arrêter le service:
<code bash>
systemctl stop docker.service
</code>
Redéfinir la configuration par défaut via le fichier '... si besoin et copier l'ancien répertoire racine du service vers la nouvelle destination
<code bash>
sudo mkd
cifier la politique de redémarrage du conteneur / service via l'option de configuration **restart**. Les va...
===== Exemples =====
==== Pas de redémarrage du service ====
Dans cet exemple on désactive le redémarrage automatique du service aService
<code yaml>
services:
aService:
restart: no
</code>
===== Limiter les redémarrages en cas
e définir les objets de type router, middlewares, services et configuration TLS. Ces objets sont décrits pa... aefik s'appuie sur les labels pour identifier les services et router les flux entrants vers les bons services. Par défaut Traefik peut être en mesure de créer des routes vers tous les services/conteneurs qu'il découvre. Il est possible cepen
rrière le reverse proxy Traefik, on peut créer un service avec docker-compose.
<note>
Pour que Traefik puisse communiquer avec le service, le service doit être sur le même réseau que Traefik. Dans cet exemple le réseau de Traefik préexistant es... >
<file yaml docker-compose.yml>
version: "3.3"
services:
portainer:
image: "portainer/portainer-ce
gérer les certificats Let's Encrypt au profit des services placés derrière le reverse-proxy.
===== Configu... n crée un point de montage dans la déclaration du service au sein du docker-compose
<file YAML>
version: "3.3"
services:
traefik:
image: traefik:v2.4.12
resta... ode>
Via les labels, on peut enfin paramétrer le service derrière traefik pour qu'il puisse bénéficier du
k comme reverse proxy pour fournir un ensemble de services web uniquement sur l’hôte local. Cela peut être utile pour:
* Tester des services en développement;
* Restreindre l'accès a un service web propre à la machine.
<code bash>
mkdir -p lo... ure: false
# Déclaration des points d'entrées du service
entryPoints:
HTTP:
address: ":80"
HTTPS: