我有以下Dockerfile:
FROM alpine
RUN apk add uwsgi
CMD ["/usr/sbin/uwsgi", "--socket 127.0.0.1:8000"]
使用
docker run <image name>
运行它会导致以下错误:/usr/sbin/uwsgi: unrecognized option: socket 127.0.0.1:8000
getopt_long() error
但是,运行
docker run <image name> /usr/sbin/uwsgi --socket 127.0.0.1:8000
工作正常。根据the docs的说法,像这样使用CMD
“不会调用命令shell。这意味着正常的shell处理不会“发生”。我不确定这是否是罪魁祸首。在仍然使用 Alpine 版本的同时,如何使uWSGI与CMD一起使用?
最佳答案
--socket
和127.0.0.1:8000
是不同的选项。
您必须指定:
CMD ["/usr/sbin/uwsgi", "--socket", "127.0.0.1:8000"]
关于docker - 为什么Docker中的uWSGI无法通过CMD而是通过命令行运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57633228/