2015-03-17 2 views
0

Я использую Ubuntu 14.04 и Docker 1.0.1. У меня есть контейнер, содержащий python 2.7.6 и uwsgi 2.0.10. Я создал Dockerfile:uwsgi работает в Docker не может найти файл инициализации

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"] 

Ниже я помещаю свою uswgi.conf:

[uwsgi] 
http-socket = 0.0.0.0:8080 
wsgi-file = /var/www/test.py 
processes = 4 
threads = 2 
stats = 0.0.0.0:8081 

Когда я вхожу в контейнере:

docker run --rm -it -p 8080 -p 8081 -v /home/hedin/projects/business 
/project/test/www:/var/www/ romeus/django /bin/bash 

, а затем запустить 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 

проблемы это ошибка: Realpath() из /var/conf/uswgi.conf не удалось: Нет такого файла или каталога [ядро/utils.c линия 3607 ]

Кто-нибудь знает, в чем проблема?

P.S. Я изменил хвост моего Dockerfile:

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 +++ 

Так что, похоже, как файл не существует в то время, команда запуска. Любые мысли?

ответ

1

Я сделал глупую ошибку. Имя файла должно быть «uwsgi.conf», но не «uswgi.conf». Когда я его исправил, все началось, как и ожидалось.

+0

Можете ли вы принять свой ответ, чтобы этот вопрос не был указан в фильтре 'Unanswered'? –

+0

Когда я попытался принять этот вопрос, он говорит, что я могу это сделать завтра –

+0

Из coz Я согласен с этим tommorow –

Смежные вопросы