Я использую контейнер Docker для разработки Django, а контейнер запускает Gunicorn с Nginx. Я бы хотел, чтобы изменения кода были загружены автоматически, но единственный способ заставить их загрузить - восстановить с помощью docker-compose (docker-compose build
). Проблема с «сборкой» заключается в том, что она повторно запускает все мои установки папок.Автоматическая перезагрузка изменений кода с помощью разработки Django в Docker с Gunicorn
Я использую флаг Gunicorn --reload
, который, по-видимому, должен делать то, что я хочу. Вот мои Docker конфигурационные файлы:
## Dockerfile:
FROM python:3.4.3
RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN pip install -r /code/requirements/docker.txt
## docker-compose.yml:
web:
restart: always
build: .
expose:
- "8000"
links:
- postgres:postgres
volumes:
- /usr/src/app/static
env_file: .env
command: /usr/local/bin/gunicorn myapp.wsgi:application -w 2 -b :8000 --reload
nginx:
restart: always
build: ./config/nginx
ports:
- "80:80"
volumes:
- /www/static
volumes_from:
- web
links:
- web:web
postgres:
restart: always
image: postgres:latest
volumes:
- /var/lib/postgresql
ports:
- "5432:5432"
я пробовал некоторые другие команды Docker (docker-compose restart
, docker-compose up
), но код не будет обновляться.
Что мне не хватает?
У вас есть общий объем с кодом? Можете ли вы опубликовать часть своего файла docker-compose.yml для просмотра сценария? – kikicarbonell
Я не понимаю вашу проблему. «Проблема с« сборкой »заключается в том, что она перезапускает все мои установки папок». Возможно, вы можете сделать сначала все установки pip, так что 'docker build' загружает только изменения кода. Можете ли вы показать свой файл Docker? У вас также может быть файл Docker, начинающийся с 'FROM mypipinstalls' – user2915097
kikicarbonell, ваш вопрос помог мне понять, что мне нужен объем для моего кода, и, похоже, исправлена моя проблема, поэтому спасибо, что привели меня к решению! –