Quelque chose de trivial auquel j’ai pensé mais je n’ai pas trouvé de réponse claire, donc je demande ici.
Avec des conteneurs web uniquement - comment créer et utiliser une image que ces conteneurs partageraient / devraient partager ?
Cela doit certainement avoir du sens - un tel conteneur de discussion « léger » avec tout à l’extérieur (en particulier avec un budget limité sur des VM XS) chacun ayant sa propre image docker… n’a aucun sens dans mon esprit, n’est-ce pas ?
J’espère que je rate une documentation / un tutoriel « évident » sur un scénario aussi simple (et courant / populaire ?) ?
Merci beaucoup.
Oui, vous pouvez utiliser une seule base de données postgres pour plusieurs sites Discourse, mais à moins que vous n’utilisiez le multisite (voir Multisite configuration with Docker), chacun a besoin de son propre redis.
Vous devrez créer une autre base de données et configurer le deuxième conteneur web pour qu’il l’utilise au lieu de celui nommé Discourse.
Merci d’avoir pris le temps d’essayer, cependant… ce n’est pas ce que je demande.
Je vais réessayer, pardonnez-moi si j’échoue… encore
Quand je :
→ $ ./launcher bootstrap a.forum.xyz # ou similaire
alors le processus crée :
-> $ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
local_discourse/a.forum.xyz latest d7a7b6509811 2 hours ago 4.19GB
et cela se produit avec chaque lanceur exécuté pour un forum différent/nouveau.
Je me retrouve donc avec plusieurs images du même discourse - est-ce seulement moi et le résultat devrait-il être différent ?
Si ce n’est pas seulement moi et que c’est le résultat souhaité et attendu, alors c’est - bien sûr, je ne suis pas un développeur et je n’ai aucune connaissance du(des) processus impliqué(s) - plutôt vraiment extrêmement inutile (peut-être en particulier avec le conteneur web uniquement) - non ?
Ce que j’espérais - lorsque j’ai essayé discourse pour la première fois - ce que j’attendais, c’était à peu près ce que fait tout autre logiciel dockerisé, à savoir - obtenir cette image unique et en exécuter de nombreux conteneurs. Est-ce que discourse n’est pas capable de faire cela ?
Si vous souhaitez utiliser le même conteneur avec des paramètres différents pour différents sites, vous pouvez
./launcher start-cmd
Pour obtenir les paramètres de démarrage. Vous pouvez les modifier pour les autres sites que vous souhaitez exécuter. Vous aurez toujours besoin d’une base de données et d’un redis pour chacun.
Il contient des copies uniques des thèmes de votre site, qui incluent JS, CSS et d’autres types d’actifs.
Également la combinaison unique de vos plugins et de leurs dépendances.
C’est une longue histoire, mais Discourse et la plupart des outils sont antérieurs à des choses comme Docker compose.
Nous livrons un conteneur “fat” qui contient le tout, et cela comporte plusieurs compromis. D’une part, le conteneur stateful permet des fonctionnalités comme notre mise à jour en un clic basée sur le web.
En fin de compte, notre statu quo actuel fonctionne bien pour les personnes qui ne sont que légèrement technophiles, qui peuvent copier-coller des commandes dans une session SSH et configurer le DNS, mais qui ne sont pas des maîtres des conteneurs Linux.
Et pour les experts en conteneurs Linux, nous pouvons leur dire qu’ils peuvent prendre cette image bootstrapée, l’expédier vers un registre et la réutiliser sur leur logiciel d’orchestration de conteneurs préféré.
Les personnes situées entre les deux personas ci-dessus, cependant, ressentent le plus la douleur.
Je n’ai pas trouvé d’explication sur la façon d’utiliser un seul Redis pour plusieurs instances dans ce guide, mais cela semble fonctionner dès la sortie de la boîte lorsque la configuration multisite est disponible ?
Ai-je bien compris ?
a) Multisite exécute la même image docker pour plusieurs forums, en utilisant un seul serveur redis et un seul serveur postgres.
b) Utiliser un seul redis pour plusieurs instances discourse (en utilisant la même image ou non) n’est pas possible, car sans activer le multisite, aucun préfixe ne sera ajouté aux clés redis.
c) Il n’y a pas d’autre moyen d’imposer un préfixe de clé redis.
d) L’imposition de préfixes de clés redis différents pour différentes images discourse permettrait d’utiliser un seul serveur redis.
e) Le support général pour l’imposition d’un préfixe redis général nécessiterait plusieurs changements fondamentaux.