Ich habe ein Dockerfile mit:
ENTRYPOINT ["uwsgi", "--ini /home/docker/app/uwsgi_app.ini"]
(nein CMD
)
Wenn ich das laufen lasse beschwert sich uwsgi zu Recht:
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Nun dachte ich mir, dass ich Argumente wie folgt an den Entypoint anhängen kann docker run
:
$ docker run -itP uwsgi_app:0.1 --uid=docker
Allerdings beschwert sich uwsgi immer noch mit demselben Fehler, anscheinend wurde das Argument nicht angehängt.
Wenn ich den Eintrittspunkt überschreibe, wird arg hinzugefügt:
$ docker run -itP --entrypoint bash uwsgi_app:0.1 --uid=docker
bash: --uid=docker: invalid option
... Ich fragte mich, ob es Uwsgis --ini
Option war, andere Argumente zu ignorieren, aber es ist nicht so:
$ docker run -itP --entrypoint bash uwsgi_app:0.1
[ root@88941de25b1f:/home/docker ]$ uwsgi --ini /home/docker/app/uwsgi_app.ini --uid=docker
user docker not found.
(Okay, ein Fehler, zeigt aber, dass das Argument akzeptiert wurde)
docker run --entrypoint "uwsgi --ini /home/docker/app/uwsgi_app.ini" <image>