عامل الميناء تشغيل لا إلحاق الحجج إلى نقطة دخول الصورة

لدي ملف ميناء مع:

ENTRYPOINT ["uwsgi", "--ini /home/docker/app/uwsgi_app.ini"]

(لا CMD)

عندما أركض أن أوسجي يشكو بحق:

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

ومع ذلك وسجي لا يزال يشكو مع نفس الخطأ ، يبدو أن أرغ لم يتم إلحاق.

إذا كنت تجاوز نقطة الدخول ثم يحصل على إضافة الارجنتين:

$ docker run -itP --entrypoint bash uwsgi_app:0.1 --uid=dockerbash: --uid=docker: invalid option

... تساءلت عما إذا كان الأمر كذلك --ini الخيار تجاهل وسائط أخرى ، ولكن ليس ذلك:

$ docker run -itP --entrypoint bash uwsgi_app:0.1[ root@88941de25b1f:/home/docker ]$ uwsgi --ini /home/docker/app/uwsgi_app.ini --uid=dockeruser docker not found.

(حسنا ، خطأ ، ولكن يظهر تم قبول الارجنتين)

اتضح أن الجواب هو استخدام شكل الصفيف من ENTRYPOINT (و / أو CMD) من أجل إلحاق من سطر الأوامر للعمل

مع:

ENTRYPOINT ["uwsgi", "--ini", "/home/docker/app/uwsgi_app.ini"]

ثم:

$ docker run -itP uwsgi_app:0.2 --uid=docker...user docker not found.

(حسنا ، خطأ ، ولكن يظهر تم قبول الارجنتين)

يتم وصف هذا السلوك بالفعل في المستندات:
https://docs.docker.com/reference/builder/#entrypoint

...فاتني أنه عندما المقشود قراءتها على الرغم من :)