Fehler: positionale Argumente werden nicht unterstützt
[program:sam_reports_uwsgi]
command=uwsgi --ini /var/www/phis-ng/server_config/staging_wsgi.ini
autostart=true
autorestart=true
stopsignal=QUIT
stdout_logfile=/var/log/sam_reports/stdout.log
stderr_logfile=/var/log/sam_reports/stderr.log
user=ubuntu
directory=/var/www/phis-ng/src/imam
Dies ist die conf-Datei habe ich für supervisord aber wenn ich versuche zu laufen supervisord staging_supervisor.conf
im Ordner es sich befindet, es gibt mir diese Fehlermeldung:
Error: positional arguments are not supported
Ich kann nicht sehen, was ich falsch mache den Vergleich gegen das, was ich gefunden habe über Google und supervisord docs. Ich bin mit supervisord 3.0.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern:
zu
Leider noch nicht erklären, warum das hilft.
CMD
ignoriert werden könnten, wenn die container ausgeführt wird, mit einem Befehl, z.B.docker run -it IMAGE /bin/bash
so dass diese Lösung könnte sein sehr verwirrend und schwer zu Debuggen. Sie können sehen, meine Antwort für mehr info.Stellen Sie sicher
supervisord
läuft als daemon und versuchensupervisorctl
für jedes Programm statt.Für ubuntu erstellen
/etc/supervisord/conf.d/some_app.conf
- Datei, die enthält[program:some_app]
Abschnitt.Dann starten Sie es.
Bestätigen, es läuft
Das ist alles.
Ihnen fehlt die
-c
vor deiner config-Datei. Es denkt, die config Datei ist eine 'positions-argument'.Ersetzen
ENTYRPOINT
mitCMD
ist eine Art slick Lösung, denn wenn container läuft mit einem Befehl, z.B.docker run -it IMAGE /bin/bash
,CMD
ignoriert. Es kann funktionieren, für kleine Dockerfiles, aber in größer, mit vielen Schichten, die es werden könnten, sehr schwierig zu Debuggen. Aber ich fand eine Lösung zur NutzungENTRYPOINT
mitsupervisord
vermeiden Fehler positionale Argumente werden nicht unterstützt Fehler.Setzen Sie einfach
supervisord
- Befehl in shell-Skript.sh
kopieren, die auf container und verwenden Sie dannENTRYPOINT
auf die Datei, z.B.:run_supervisord.sh
Dockerfile:
Irgendwie, supervisord erfordert CMD Unterricht. Also, man kann schreiben, wie flüstern: