Я использую следующий пример для создания веб-сервера django-postgres-nginx-gunicorn.Я хотел бы разделить папки для каждого контейнера.Следующая структура проекта работает правильно.Основной Dockerfile используется для приложения hello (проект django):
svm3_03
|____Dockerfile
|____config
| |____gunicorn
| | |____conf.py
| |____nginx
| | |____conf.d
| | |____local.conf
| |____db
| |____db_env
|____docker
| |__db
| |__Dockerfile
| |__dataForDB
|__docker-compose.yml
|__hello
docker-compose.yml выглядит так:
version: '3'
...
services:
djangoapp:
build:
context: .
...
, а Dockerfile имеет следующую строку:
CMD ["gunicorn", "-c", "config/gunicorn/conf.py", "--bind", ":8000", "--chdir", "hello", "hello.wsgi:application"]
Все работает.Теперь я попытался создать ту же структуру, что и образ БД, и для приложения django, поэтому я переместил основной Dockerfile и каталог hello в папку docker ... Я создал новую папку внутри папки docker с именем djangoapp и переехал тудаDockerfile и привет папка.Новая структура выглядит следующим образом:
svm3_03
|____config
| |____gunicorn
| | |____conf.py
| |____nginx
| | |____conf.d
| | |____local.conf
| |____db
| |____db_env
|____docker
| |__db
| | |__Dockerfile
| | |__dataForDB
| |__djangoapp
| |__Dockerfile
| |__hello
|__docker-compose.yml
Все, что я тогда сделал, это изменил контекстную строку в файле docker-compose.yml следующим образом:
version: '3'
...
services:
djangoapp:
build:
context: ./docker/djangoapp
...
Теперь я получаюследующая ошибка:
djangoapp_1_7b3c77a4b939 | Error: can't chdir to 'hello'...
из-за gunicorn и командной строки CMD внутри Docker-файла djangoapp.Чёткого изменения контекста в docker-compose.yml недостаточно ... есть идеи, что мне не хватает?
Спасибо
ОБНОВЛЕНИЕ: Вот полный файл docker:
FROM python:2
ENV PYTHONUNBUFFERED 1
RUN mkdir -p /opt/services/djangoapp/src
WORKDIR /opt/services/djangoapp/src
COPY . /opt/services/djangoapp/src
RUN pip install --no-cache-dir -r hello/requirements.txt
RUN cd hello && python manage.py collectstatic --no-input
EXPOSE 8000
CMD ["gunicorn", "-c", "config/gunicorn/conf.py", "--bind", ":8000", "--chdir", "hello", "hello.wsgi:application"]