Saya punya Dockerfile dengan:
ENTRYPOINT ["uwsgi", "--ini /home/docker/app/uwsgi_app.ini"]
(tidak CMD
)
Ketika saya menjalankannya, uwsgi dengan benar mengeluh:
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Sekarang, saya pikir saya bisa menambahkan argumen ke titik masuk melalui docker run
seperti:
$ docker run -itP uwsgi_app:0.1 --uid=docker
Namun uwsgi masih mengeluh dengan kesalahan yang sama, sepertinya arg belum ditambahkan.
Jika saya mengganti entrypoint maka arg ditambahkan:
$ docker run -itP --entrypoint bash uwsgi_app:0.1 --uid=docker
bash: --uid=docker: invalid option
... Saya bertanya-tanya apakah itu --ini
pilihan uwsgi mengabaikan argumen lain, tapi bukan itu:
$ 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.
(Oke, kesalahan, tetapi menunjukkan arg diterima)
docker run --entrypoint "uwsgi --ini /home/docker/app/uwsgi_app.ini" <image>