|
@@ -80,7 +80,7 @@ Pour cela, ajouter les lignes suivantes à votre fichier `/etc/hosts`:
|
|
|
127.0.0.1 local.v59.opentalent.fr # Docker 'adminassos'
|
|
127.0.0.1 local.v59.opentalent.fr # Docker 'adminassos'
|
|
|
127.0.0.1 local.phpmyadmin.opentalent.fr # Docker 'phpmyadmin'
|
|
127.0.0.1 local.phpmyadmin.opentalent.fr # Docker 'phpmyadmin'
|
|
|
127.0.0.1 local.elasticsearch.opentalent.fr # Docker 'es'
|
|
127.0.0.1 local.elasticsearch.opentalent.fr # Docker 'es'
|
|
|
- 127.0.0.1 local.admin.opentalent.fr # Docker 'adminLegacy'
|
|
|
|
|
|
|
+ 127.0.0.1 local.admin.opentalent.fr # Docker 'admin'
|
|
|
127.0.0.1 local.thumbor.opentalent.fr # Docker 'thumbor'
|
|
127.0.0.1 local.thumbor.opentalent.fr # Docker 'thumbor'
|
|
|
127.0.0.1 local.opentalent.fr # Docker 'portail'
|
|
127.0.0.1 local.opentalent.fr # Docker 'portail'
|
|
|
127.0.0.1 local.sub.opentalent.fr # Docker 'typo3'
|
|
127.0.0.1 local.sub.opentalent.fr # Docker 'typo3'
|
|
@@ -94,6 +94,7 @@ Pour cela, ajouter les lignes suivantes à votre fichier `/etc/hosts`:
|
|
|
127.0.0.1 local.app-doc.opentalent.fr # Docker 'app-doc'
|
|
127.0.0.1 local.app-doc.opentalent.fr # Docker 'app-doc'
|
|
|
127.0.0.1 local.app-v3.opentalent.fr # Docker 'app-v3'
|
|
127.0.0.1 local.app-v3.opentalent.fr # Docker 'app-v3'
|
|
|
127.0.0.1 local.mercure.opentalent.fr # Docker 'mercure'
|
|
127.0.0.1 local.mercure.opentalent.fr # Docker 'mercure'
|
|
|
|
|
+ 127.0.0.1 local.portail-v2.opentalent.fr # Docker 'portail-v2'
|
|
|
|
|
|
|
|
> Attention: les domaines indiqués ici doivent correspondre aux domaines définis dans le fichier `.env`
|
|
> Attention: les domaines indiqués ici doivent correspondre aux domaines définis dans le fichier `.env`
|
|
|
|
|
|
|
@@ -479,6 +480,119 @@ Héberge une instance phpdoc, qui permet ensuite de générer des documentations
|
|
|
TODO: à quoi il sert?
|
|
TODO: à quoi il sert?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+## Configuration du réseau
|
|
|
|
|
+
|
|
|
|
|
+### Réseau et adresses IP
|
|
|
|
|
+
|
|
|
|
|
+La section `networks` du docker-compose permet de configurer un réseau interne auxquel pourront appartenir les
|
|
|
|
|
+containers.
|
|
|
|
|
+
|
|
|
|
|
+> Voir: https://docs.docker.com/compose/networking/
|
|
|
|
|
+> https://docs.docker.com/compose/compose-file/compose-file-v3/#networks
|
|
|
|
|
+
|
|
|
|
|
+Ici, on définit un seul réseau nommé `network`, au sein duquel les ips seront de la forme `172.20.[0-255].[1-254]`
|
|
|
|
|
+
|
|
|
|
|
+Pour qu'un container puisse appartenir au réseau, sa définition doit comporter une entrée de cette forme :
|
|
|
|
|
+
|
|
|
|
|
+ networks:
|
|
|
|
|
+ - network
|
|
|
|
|
+
|
|
|
|
|
+On pourra aussi assigner une IP fixe à un container en précisant cette configuration, par exemple :
|
|
|
|
|
+
|
|
|
|
|
+ networks:
|
|
|
|
|
+ network:
|
|
|
|
|
+ ipv4_address: 172.20.2.2
|
|
|
|
|
+
|
|
|
|
|
+### Attribution des ports
|
|
|
|
|
+
|
|
|
|
|
+Les ports de l'hôte peuvent être assignés aux ports d'un container en ajoutant une section `ports` à la définition du
|
|
|
|
|
+container. Exemple :
|
|
|
|
|
+
|
|
|
|
|
+ ports:
|
|
|
|
|
+ - "3001:3000"
|
|
|
|
|
+ - "3002:3001"
|
|
|
|
|
+
|
|
|
|
|
+Ces entrées sont de la forme : `<port de l'hôte>:<port du container>`
|
|
|
|
|
+
|
|
|
|
|
+Dans l'exemple précédent, une requête reçue sur le port 3001 par la machine hôte sera dirigée vers le port 3000 du
|
|
|
|
|
+container.
|
|
|
|
|
+
|
|
|
|
|
+### Proxy : le docker nginx-proxy
|
|
|
|
|
+
|
|
|
|
|
+La configuration du fichier `hosts` permet de rediriger certaines url locales (ex: `local.api.opentalent.fr`) vers la
|
|
|
|
|
+machine locale (i.e. `localhost`).
|
|
|
|
|
+
|
|
|
|
|
+> Voir: https://gitlab.2iopenservice.com/opentalent/docker/-/blob/master/README.md#le-fichier-etchosts
|
|
|
|
|
+
|
|
|
|
|
+Le container `nginx-proxy` est configuré pour recevoir les requêtes des ports 80 et 443 de la machine hôte, et reçoit donc
|
|
|
|
|
+les requêtes adressées aux urls locales.
|
|
|
|
|
+
|
|
|
|
|
+[Ce container est configuré](https://hub.docker.com/r/jwilder/nginx-proxy/#!) pour identifier tous les containers de
|
|
|
|
|
+son réseau pour lesquels une variable d'env `VIRTUAL_HOST` a été définie, et redirigera les requêtes d'une url au
|
|
|
|
|
+container dont le vhost correspond.
|
|
|
|
|
+
|
|
|
|
|
+Les virtual hosts sont définis dans le fichier `.env`. Pour attribuer un nom d'hôte à un container, on ajoute ensuite
|
|
|
|
|
+dans le `docker-compose.yml` une entrée de cette forme à sa configuration :
|
|
|
|
|
+
|
|
|
|
|
+ environment:
|
|
|
|
|
+ - VIRTUAL_HOST=${SOME_VIRTUAL_HOST}
|
|
|
|
|
+
|
|
|
|
|
+Pour utiliser un autre port que le port 80, on peut ajouter une variable `VIRTUAL_PORT` :
|
|
|
|
|
+
|
|
|
|
|
+ environment:
|
|
|
|
|
+ - VIRTUAL_HOST=${SOME_VIRTUAL_HOST}
|
|
|
|
|
+ - VIRTUAL_PORT=${SOME_PORT}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+### Nom des hôtes et aliases réseau
|
|
|
|
|
+
|
|
|
|
|
+Sur leur réseau interne, les noms d'hôtes des containers sont définis via l'entrée `hostname` de leur configuration.
|
|
|
|
|
+Généralement, ces hostnames sont identiques à leurs noms de container.
|
|
|
|
|
+
|
|
|
|
|
+> Exemple : pour adresser une requête au docker `db`, le container `api` enverra sa requête à l'adresse `http://db`
|
|
|
|
|
+
|
|
|
|
|
+Il est cependant possible d'attribuer des aliases aux containers, ex :
|
|
|
|
|
+
|
|
|
|
|
+ networks:
|
|
|
|
|
+ network:
|
|
|
|
|
+ aliases:
|
|
|
|
|
+ - docker.sub.opentalent.fr
|
|
|
|
|
+
|
|
|
|
|
+Ainsi configuré, le docker sera joignable sur le réseau interne à l'adresse `http://docker.sub.opentalent.fr`.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+### Attribution des ports et IPs
|
|
|
|
|
+
|
|
|
|
|
+| Container | hostname | In Network ? | IP fixe | Ports | VIRTUAL_HOST / PORT | Aliases |
|
|
|
|
|
+|-------------|-------------|--------------|------------|------------------------|------------------------------------------|-------------------------------------------------------|
|
|
|
|
|
+| nginx-proxy | nginx-proxy | O | - | 80:80, 443:443 | - | - |
|
|
|
|
|
+| db | db | O | 172.20.1.3 | 3306:3306 | - | - |
|
|
|
|
|
+| nginx | nginx | O | - | - | local.api.opentalent.fr | docker.nginx.opentalent.fr |
|
|
|
|
|
+| php70 | php70 | O | 172.20.1.1 | - | - | - |
|
|
|
|
|
+| nginx_new | nginx_new | O | - | - | local.ap2i.opentalent.fr | - |
|
|
|
|
|
+| ap2i | ap2i | O | 172.20.2.1 | - | - | - |
|
|
|
|
|
+| mercure | mercure | O | 172.20.4.0 | - | local.mercure.opentalent.fr | - |
|
|
|
|
|
+| python39 | python39 | O | 172.20.4.1 | - | - | - |
|
|
|
|
|
+| admin | admin | O | 172.20.1.2 | 3000:3000, 3001:3001 | local.admin.opentalent.fr / 3000 | - |
|
|
|
|
|
+| app | app | O | 172.20.2.2 | 3002:3000, 3003:3003 | local.app.opentalent.fr / 3002 | - |
|
|
|
|
|
+| app_v3 | app_v3 | O | 172.20.2.3 | 3009:3000, 24678:24678 | local.app-v3.opentalent.fr / 3000 | - |
|
|
|
|
|
+| frames | frames | O | 172.20.2.4 | 3004:3004, 3005:3005 | local.frames.opentalent.fr / 3004 | - |
|
|
|
|
|
+| frames_v3 | frames_v3 | O | 172.20.2.5 | 3007:3000, 24679:24679 | local.frames-v3.opentalent.fr / 3000 | - |
|
|
|
|
|
+| portail | portail | O | - | - | local.opentalent.fr | - |
|
|
|
|
|
+| portail_v2 | portail_v2 | O | 172.20.2.6 | 3010:3000, 24680:24680 | local.portail-v2.opentalent.fr / 3000 | - |
|
|
|
|
|
+| typo3 | typo3 | O | 172.20.3.1 | - | local.sub.opentalent.fr | docker.sub.opentalent.fr, docker.sub.customdomain.fr |
|
|
|
|
|
+| adminassos | adminassos | O | - | - | local.v59.opentalent.fr | - |
|
|
|
|
|
+| metabase | metabase | O | - | - | local.metabase.opentalent.fr / 3000 | - |
|
|
|
|
|
+| es | es | O | - | - | local.elasticsearch.opentalent.fr / 9200 | - |
|
|
|
|
|
+| thumbor | thumbor | O | - | - | local.thumbor.opentalent.fr | - |
|
|
|
|
|
+| phpmyadmin | phpmyadmin | O | - | - | local.phpmyadmin.opentalent.fr | - |
|
|
|
|
|
+| memcached | memcached | X | - | - | - | - |
|
|
|
|
|
+| mailcatcher | mailcatcher | O | - | 1025:1025 | local.mailcatcher.opentalent.fr / 1080 | - |
|
|
|
|
|
+| blackfire | blackfire | O | - | - | local.blackfire.opentalent.fr / 8707 | - |
|
|
|
|
|
+| phpdoc | phpdoc | O | - | - | local.ap2i-doc.opentalent.fr | - |
|
|
|
|
|
+| jsdoc | jsdoc | O | - | - | local.app-doc.opentalent.fr | - |
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
## Opérations courantes
|
|
## Opérations courantes
|
|
|
|
|
|
|
|
#### Ajouter un certificat SSL pour un nouveau domaine local
|
|
#### Ajouter un certificat SSL pour un nouveau domaine local
|