Контейнер Docker на сервере отличается по поведению от локального компьютера - uwsgi и nginx - PullRequest
0 голосов
/ 27 мая 2019

Кажется, что мой докер-контейнер правильно развертывается при запуске с моего компьютера MacOS, но не удается импортировать модуль приложения при запуске с моего удаленного сервера Ubuntu 18.04. Это колба приложение, которое использует uwsgi и nginx в качестве веб-сервера. Точная ошибка

ImportError: нет модуля с именем app

Я пробовал разные конфигурации различных файлов ниже, но безуспешно.

Dockerfile:

FROM python:3.5

RUN apt-get update
RUN apt-get install -y --no-install-recommends \
        libatlas-base-dev gfortran nginx supervisor

RUN pip3 install uwsgi

COPY requirements.txt /project/requirements.txt

RUN pip3 install -r /project/requirements.txt

RUN useradd --no-create-home nginx

RUN rm /etc/nginx/sites-enabled/default
RUN rm -r /root/.cache

COPY nginx.conf /etc/nginx/
COPY flask-site-nginx.conf /etc/nginx/conf.d/
COPY uwsgi.ini /etc/uwsgi/
COPY supervisord.conf /etc/

COPY /app /project

WORKDIR /project

CMD ["/usr/bin/supervisord"]

Supervisord:

[supervisord]
nodaemon=true

[program:uwsgi]
command=/usr/local/bin/uwsgi --ini /etc/uwsgi/uwsgi.ini --die-on-term
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:nginx]
command=/usr/sbin/nginx
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

uwsgi:

[uwsgi]
module = app.wsgi
callable = app

uid = nginx
gid = nginx

socket = /tmp/uwsgi.sock
chown-socket = nginx:nginx
chmod-socket = 664

cheaper = 1
processes = %(%k + 1)

Действительно ценю любой вклад или совет - заранее спасибо!

1 Ответ

0 голосов
/ 27 мая 2019

Возможное объяснение:

В OS X по умолчанию используется файловая система без учета регистра.

В Ubuntu у вас почти наверняка есть чувствительная к регистру файловая система.

Используете ли вы файл с именем Supervisord, который совпадает с supervisord в файловой системе без учета регистра, но не в чувствительной к регистру?

...