在docker上运行uwsgi导致没有这样的文件或目录

时间:2018-04-19 22:19:06

标签: python docker uwsgi

我试图在docker容器中使用uwsgi运行应用程序,但我正在

  

docker:来自守护程序的错误响应:OCI运行时创建失败:   container_linux.go:348:启动容器进程导致" exec:   \" uwsgi --http:80 -s /tmp/uwsgi.sock --pidfile /var/run/uwsgi.pid   --wsgi-file /app/api.py -M -p 4 --die-on-term --callable app -d /tmp/uwsgi.log\" ;:stat uwsgi --http:80 -s /tmp/uwsgi.sock --pidfile   /var/run/uwsgi.pid --wsgi-file /app/api.py -M -p 4 --die-on-term   --callable app -d /tmp/uwsgi.log:没有这样的文件或目录":未知。

我的码头文件:

FROM ubuntu


RUN apt-get update && apt-get install -y build-essential python-dev python-pip

RUN pip install uwsgi

RUN pip install Flask


EXPOSE 9090

COPY ./flask /app
WORKDIR /app

CMD ["uwsgi --http :80 -s /tmp/uwsgi.sock  --pidfile /var/run/uwsgi.pid --wsgi-file /app/api.py -M -p 4 --die-on-term --callable app -d /tmp/uwsgi.log"]

如何成功运行该怎么办?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用CMD执行表

CMD ["uwsgi", "--http", ":80", "-s", "/tmp/uwsgi.sock",  "--pidfile", "/var/run/uwsgi.pid", "--wsgi-file", "/app/api.py", "-M", "-p", "4", "--die-on-term", "--callable", "app", "-d", "/tmp/uwsgi.log"] 

代替

CMD ["uwsgi --http :80 -s /tmp/uwsgi.sock  --pidfile /var/run/uwsgi.pid --wsgi-file /app/api.py -M -p 4 --die-on-term --callable app -d /tmp/uwsgi.log"]

希望此答案对您有所帮助,Dockerfile CMD shell versus exec form是参考。