Il existe des conteneurs Linux (LXC). Il existe des scripts de VM. Vous pourriez créer un installateur ISO.
Les LXC sont littéralement des conteneurs.
Pour les administrateurs système, ce non-sens de Docker est redondant et inutile si vous avez une configuration réseau avec des pare-feu, etc.
Je comprends que c’est une installation simple pour ceux qui ne savent pas utiliser Linux et le sécuriser, mais pour les administrateurs système, apprendre Docker est inutile. LXC et les VM seront toujours bien meilleurs que Docker.
Pour les administrateurs système qui gèrent des serveurs, nous créons des LXC et des VM dans un réseau séparé. J’ai donc créé une VM dédiée pour Discourse afin de créer ensuite un conteneur Docker. -_-
Il s’agit donc maintenant d’un réseau dans un réseau. Une VM dédiée et isolée et seulement pour créer un conteneur Docker isolé de tout -_-
Il n’y a pas de guide pour l’installer sans Docker, qu’il soit pris en charge ou non. Il n’y a pas de guide ou d’assistance pour exposer l’IP de l’hôte au conteneur.
Parce que lorsqu’ils ont commencé à développer Discourse, c’était la meilleure chose qui existait.
S’ils devaient le faire aujourd’hui, je suppose que la seule chose qu’ils feraient différemment serait d’utiliser docker-compose plutôt que leur propre commande personnalisée launcher qui construit et lance des images Docker.
Vous devez être sur un internet différent du mien. D’après tout ce que je vois, la plupart des gens qui gèrent des logiciels sur plus de, disons, 5 serveurs, utilisent une sorte de conteneur pour gérer les choses. De plus en plus de développeurs exécutent des choses sur leurs ordinateurs portables dans des conteneurs pour s’assurer que les versions de tout sont maintenues cohérentes.
Même la gestion d’un environnement de développement Discourse/rails/ember sur un seul ordinateur portable est un défi.
C’est vrai. Si vous voulez un forum que vous pouvez utiliser sans Docker, vous ne devriez pas utiliser Discourse.
Je soutiens cela. docker-compose serait 100% mieux car je viens de regarder un cours intensif sur docker et docker-compose. Il semble que si Discourse utilisait docker-compose, j’aurais résolu ce problème sans avoir besoin de créer un post.
docker-compose fait tout le travail difficile, similaire à ce que fait le lanceur, mais avec docker-compose, j’aurais pu facilement configurer le réseau et le pont.
Je suis d’accord. J’utilise des conteneurs. Juste des conteneurs LxC purs. Aucun logiciel supplémentaire requis. Ce n’est pas aussi simple que cela, cependant. Par exemple : sur l’un de mes serveurs, j’ai un package bronze qui est essentiellement pour les développeurs. Configuration bon marché et facile. Dès qu’un paiement est confirmé, le serveur principal reçoit une demande de création d’un conteneur lxc ou d’une VM en fonction de la sélection de l’utilisateur, évidemment un nom de domaine est requis ou un sous-domaine personnalisé sera émis pour le serveur (lxc/vm). Il demande également à l’utilisateur de configurer son propre réseau qui ne peut alors pas être accédé par le réseau principal et vice versa. C’est essentiellement un petit AWS.
Pour le développement, docker serait exceptionnel pour les ordinateurs portables et à des fins de développement pour séparer les fichiers principaux de l’ordinateur et les fichiers de développement, y compris les réseaux.
Je ne peux ni être d’accord ni en désaccord car je n’ai personnellement rien développé avec Discourse/rails/ember. cela sort de mon champ d’application et si les développeurs disent que c’est plus facile, je ne suis pas en mesure de contredire quelque chose que je ne connais pas.
C’est mon problème, j’ai fait suffisamment de recherches sur tous les logiciels de forum disponibles et j’en ai utilisé pas mal.
Mes options se sont toutes résumées à 2 forums :
Discourse
Flarum
J’ai choisi discourse comme le meilleur logiciel de forum dans tous les aspects et en raison de ma seule expérience avec docker qui était Nginx Reverse Proxy Manager.
Je pensais que tout ce que j’avais à faire était d’entrer certaines de mes informations dans le fichier .yml, puis de faire docker-compose up -d. Je me suis trompé.
Le problème que j’ai actuellement peut être résolu, il faudra juste un peu de temps pour le comprendre.
Je refuse d’utiliser Flarum car j’ai utilisé Discourse sur de nombreuses plateformes et sans offense pour les autres bons logiciels de forum qui existent, mais Discourse est le meilleur forum disponible sur le marché.
Peut-être qu’une mise à niveau vers docker-compose pourrait aider
Après quelques recherches rapides, des guides de 5 minutes et quelques vidéos YouTube.
Non, Docker n’est pas mauvais du tout. Docker est parfait pour les développeurs qui utilisent leur machine personnelle pour développer ou même leurs ordinateurs de travail. Comme la plupart des développeurs n’utilisent pas Linux comme système d’exploitation principal, la création de conteneurs LxC ne serait pas aussi facile. C’est là qu’intervient Docker. Il prend en charge toutes les plateformes majeures, permettant aux développeurs de collaborer facilement, et l’avantage serait de ne pas encombrer tout votre système avec des fichiers qui ne sont pas destinés à être utilisés par le système d’exploitation principal.
Je pourrais entrer un peu plus dans les détails, mais les dernières versions de Docker/Docker-Compose sont parfaites pour Discourse, car je vois qu’elles nécessitent beaucoup de pièces mobiles et qu’il est assez facile de les regrouper à l’aide de Docker-Compose. De cette façon, si quelque chose tourne mal, les développeurs sauront exactement quoi faire.
J’ai une idée pour Discourse, mais je vais d’abord régler mon installation.
Pourquoi ne prenez-vous officiellement en charge que Docker ?
Héberger des applications Rails est compliqué. Même si vous avez déjà Postgres, Redis et Ruby installés sur votre serveur, vous devez toujours vous soucier de l’exécution et de la surveillance de vos processus Sidekiq et Rails, ainsi que de la configuration de Nginx. Avec Docker, notre configuration Discourse entièrement optimisée est disponible dans un conteneur simple, ainsi qu’une interface graphique Web qui rend la mise à niveau vers de nouvelles versions de Discourse aussi simple qu’un clic sur un bouton.
Vous n’avez pas besoin de lanceur et vous pourriez créer une installation sur mesure avec docker compose, bien que cela nécessite un travail considérable de votre part.
L’objectif principal n’est pas l’isolation, mais la facilité de déploiement…
Vous n’avez pas besoin d’isoler le conteneur ; vous pouvez l’exécuter sur un pont routé ou sur un pont qui a un port appartenant à votre réseau interne. Le premier est la façon dont nous l’exécutons en production - voir ici une vidéo de @mpalmer qui explique comment cela fonctionne.
Si quelqu’un veut vraiment faire cela, il peut suivre les mêmes étapes que le Dockerfile pour obtenir les bonnes versions de tous les outils utilisés par l’image prise en charge.
Nous n’avons pas de guide car cela nécessiterait que quelqu’un le maintienne, et la VASTE majorité des personnes qui le souhaitent ont soit :
peu d’expérience avec les serveurs
suffisamment de connaissances pour prendre ce que nous fournissons et l’adapter à leurs besoins
Par exemple, je sais qu’il y a des gens qui utilisent launcher pour construire une image qui est déployée via leurs propres outils (que ce soit lxc, kubernetes, etc.) et cela fonctionne pour eux.
Tenter de prendre en charge (gratuitement) tout le monde utilisant sa propre installation personnalisée de ce qui est un logiciel compliqué serait un cauchemar.
Docker est un juste milieu. Notre système n’est pas parfait ; il a grandi au fil du temps et nous ressentons certainement la douleur de refactorisations en retard. Nous avons créé launcher avant même que docker-compose n’existe.
Nous avons l’intention de le refactoriser et/ou de passer à docker-compose, mais ce n’est pas une priorité pour le moment.
Il n’est pas si difficile de faire démarrer Discourse avec les variables d’environnement requises pour que Nginx Reverse Proxy fonctionne. La plupart du temps, il suffit d’ajouter la variable d’environnement au YML, ou de l’ajouter à ce que vous obtenez de ./launcher start-command app.
docker-compose n’était pas très utile au début de Discourse, et il est possible qu’il n’existait même pas.
Je déteste Docker (c’est trop facile pour moi, n’importe quel gamin peut le faire, donc rien de spécial ! Pfff) ! Et au lieu d’écrire simplement le code pour qu’il fonctionne aussi sans la variante Docker officielle… Je ne comprends pas ! Même la méthode officielle ne fonctionne pas !
Et il y a des gens qui veulent des défis ou qui les maîtrisent déjà ! Pour eux, Docker est encore plus un obstacle, car ils doivent aussi s’occuper de Docker !