Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python uwsgi运行在Docker can';找不到初始化文件_Python_Linux_Docker_Ubuntu 14.04_Uwsgi - Fatal编程技术网

Python uwsgi运行在Docker can';找不到初始化文件

Python uwsgi运行在Docker can';找不到初始化文件,python,linux,docker,ubuntu-14.04,uwsgi,Python,Linux,Docker,Ubuntu 14.04,Uwsgi,我使用Ubuntu 14.04和Docker 1.0.1。我有一个包含python 2.7.6和uwsgi 2.0.10的容器。我创建了Dockerfile: FROM romeus/python MAINTAINER Me <my email> ENV REFRESHED_AT 2015-03-17 RUN pip install uwsgi RUN pip install Django RUN mkdir -p /var/www RUN mkdir -p /var/con

我使用Ubuntu 14.04和Docker 1.0.1。我有一个包含python 2.7.6和uwsgi 2.0.10的容器。我创建了Dockerfile:

FROM romeus/python 
MAINTAINER Me <my email>
ENV REFRESHED_AT 2015-03-17

RUN pip install uwsgi
RUN pip install Django 

RUN mkdir -p /var/www
RUN mkdir -p /var/conf 

VOLUME ["/var/www"]
ADD uwsgi.conf /var/conf/


CMD ["uwsgi", "--ini", "/var/conf/uswgi.conf"]
COPY uwsgi.conf /var/conf/

VOLUME ["/var/www"]

CMD ["strace", "-f", "uwsgi", "--ini", "/var/conf/uswgi.conf"]
当我登录到容器时:

docker run --rm -it -p 8080 -p 8081 -v /home/hedin/projects/business
/project/test/www:/var/www/ romeus/django /bin/bash
然后使用ini文件运行uwsgi:

uwsgi --ini /var/conf/uwsgi.conf
它按预期启动并工作

但当我运行它时:

docker run --rm -it -p 8080 -p 8081 -v /home/hedin/projects/business/project/test/www:/var/www/ romeus/django
这是一个错误: /var/conf/uswgi.conf的realpath()失败:没有这样的文件或目录[core/utils.c line 3607]

有人知道有什么问题吗

另外,我更改了Dockerfile的尾部:

FROM romeus/python 
MAINTAINER Me <my email>
ENV REFRESHED_AT 2015-03-17

RUN pip install uwsgi
RUN pip install Django 

RUN mkdir -p /var/www
RUN mkdir -p /var/conf 

VOLUME ["/var/www"]
ADD uwsgi.conf /var/conf/


CMD ["uwsgi", "--ini", "/var/conf/uswgi.conf"]
COPY uwsgi.conf /var/conf/

VOLUME ["/var/www"]

CMD ["strace", "-f", "uwsgi", "--ini", "/var/conf/uswgi.conf"]
这是strace输出的最后几行:

lstat("/var/conf/uswgi.conf", 0x7fff9dcc6a40) = -1 ENOENT (No such file   or directory)
lstat("/var", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/var/conf", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/var/conf/uswgi.conf", 0x7fff9dcc59e0) = -1 ENOENT (No such file or directory)
write(2, "realpath() of /var/conf/uswgi.co"..., 94realpath() of /var/conf/uswgi.conf failed: No such file or directory [core/utils.c line 3607]
) = 94
exit_group(1)                           = ?
+++ exited with 1 +++
所以在命令运行时文件似乎不存在。
有什么想法吗?

我犯了一个愚蠢的错误。文件名必须为“uwsgi.conf”,但不能为“uswgi.conf”。当我修复它时,所有问题都按预期开始工作。

你能接受你的答案吗,这样这个问题就不会列在
未回答的
过滤器中?当我试图接受这个问题时,它说我可以明天做