У меня есть Dockerfile с:
ENTRYPOINT ["uwsgi", "--ini /home/docker/app/uwsgi_app.ini"]
(нет CMD
)
Когда я бегу, UWSGI справедливо жалуется:
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Теперь я подумал, что могу добавить аргументы к точке входа docker run
следующим образом:
$ docker run -itP uwsgi_app:0.1 --uid=docker
Однако uwsgi все еще жалуется с той же ошибкой, кажется, что arg не был добавлен.
Если я переопределяю точку входа, то добавляется arg:
$ docker run -itP --entrypoint bash uwsgi_app:0.1 --uid=docker
bash: --uid=docker: invalid option
... Я задавался вопросом, была ли --ini
опция uwsgi игнорировать другие аргументы, но это не так:
$ 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.
(хорошо, ошибка, но показывает, что arg был принят)
docker run --entrypoint "uwsgi --ini /home/docker/app/uwsgi_app.ini" <image>