Comment accélérer l'instanciation des conteneurs - si possible ?

Salut tout le monde.

Est-il possible - même si ce n’est pas officiellement couvert/pris en charge - de modifier Discourse/conteneur pour qu’il démarre/s’amorce plus rapidement ? (en dehors de la modification des ressources de l’hôte | et du conteneur lui-même)

Vous pouvez essayer d’utiliser plusieurs fichiers de conteneur au lieu d’un seul fichier app.yml autonome.

Mais soyons honnêtes, presque personne n’a besoin de reconstruire des conteneurs fréquemment, n’est-ce pas ?

Si vous avez besoin d’installer des plugins, il n’est pas nécessaire de reconstruire le conteneur. J’ai des moyens non officiels d’installer des plugins sans reconstruction.

Voulez-vous vraiment dire démarrer plus rapidement, c’est-à-dire commencer à servir des pages plus tôt après avoir redémarré le conteneur ? Non. Il faut juste un certain temps pour que Rails et tout le reste soient opérationnels.

Si vous parlez du temps d’arrêt associé à la reconstruction d’un conteneur, alors la solution à deux conteneurs est ce que vous recherchez.

Et si ce n’est pas assez rapide et que vous voulez un temps d’arrêt nul, alors vous pouvez faire des choses avec un équilibreur de charge et démarrer le nouveau conteneur pendant que l’ancien continue de servir des pages, puis arrêter l’ancien une fois que le nouveau est prêt.

Je ne veux pas (nécessairement) dire reconstruire.
Disons qu’on gère - comme je préférerais - le tout avec docker

Même un redémarrage de conteneur docker semble faire faire à Discourse toute une longue liste de choses lors de son démarrage — oui, c’est ce que je voulais dire — est-ce que cela peut être ajusté/réduit, des trucs Ruby/Rails ? (Pourquoi tout cela est-il fait à chaque démarrage ? Cela ne peut-il pas persister ?)

Solution à deux conteneurs — qu’est-ce que c’est ?
S’agit-il de deux conteneurs avec les éléments pertinents qui ne se heurtent pas et qui, sur le même hôte, communiquent (les deux conteneurs) avec le même pgSQL et Redis externes ?
Ou s’agit-il d’une configuration sans temps d’arrêt ?

Il doit lire un tas de code pour être prêt à le servir. Avez-vous déjà démarré votre téléphone, un ordinateur ou une télévision moderne ? Cela prend un certain temps. C’est exactement pareil. Le conteneur a tout un système d’exploitation dedans.

Oui. Il sépare les rails+nginx dans son propre conteneur et a postgres et redis dans un autre conteneur (ou comme vous voulez fournir redis et postgres).