Ich stelle eine Knoten-App (mit Express-Js) mit Dokku bereit. Meine App besteht aus 2 Express-Apps, die zwei verschiedene Ports hören. Eines ist die Haupt-App und das andere ist Web-Interface für kue - Eine einfache Job-Warteschlange für den Knoten js. Wenn ich die App ausliege, muss ich diese beiden Apps ausführen und auf die Haupt-App auf Port 80 und die Kue auf einem anderen Port zugreifen (vorzugsweise auf den Port, den die Express-App überwacht).
Ich habe beide Apps auf das Procfile gestellt wie:
%Vor%Die verschiedenen Prozesse in der Procfile werden von dokku-supervisord plugin behandelt: Ссылка (Es unterstützt alle Prozesstypen: web , Arbeiter, usw.).
Ich habe sowohl 'web' als auch 'worker' für den Prozesstyp der zweiten App ausprobiert.
Das Problem
Bei der Bereitstellung stellt Dokku einfach die letzte im Procfile angegebene Anwendung (in diesem Fall kueUi) über Port 80 zur Verfügung, und es scheint keinen Weg zu geben, auf den zuerst angegebenen zuzugreifen. Ich habe versucht, über den Port auf die erste App zuzugreifen, aber das funktioniert nicht.
Ich nehme an, dass es einige nginx-Konfiguration benötigt, um Anfragen an einen bestimmten Port an den Port im Docker-Container weiterzuleiten, auf den die App hört.
Wie ich es brauche
%Vor%Konnte keine Dokumentation darüber finden, wie dies zu erreichen ist. Jede Hilfe wird sehr geschätzt!
Ich bin mir nicht sicher, ob ich das Problem falsch verstanden habe, aber es könnte hilfreich sein, die Endpunkte beider Apps herauszufinden. Es ist so gemacht:
%Vor% Wenn Sie nginx ausführen, sollten Sie sich /opt/nginx/conf/nginx.conf
ansehen.