Я хотел бы запустить некоторые программы, когда запущено мое приложение django. Вот почему я выбираю супервизор. Я настроил свой docker -композит и Dockerfile, например:
Dockerfile:
FROM python:3.6
ENV PYTHONUNBUFFERED 1
# some of project settings here
ADD supervisord.conf /etc/supervisord.conf
ADD supervisor-worker.conf /etc/supervisor/conf.d/
CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf"]
docker -композит:
api:
build: .
command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
restart: unless-stopped
container_name: project
volumes:
- .:/project
ports:
- "8000:8000"
network_mode: "host"
supervisord.conf
[supervisord]
nodaemon=true
[include]
files = /etc/supervisor/conf.d/*.conf
[supervisorctl]
[inet_http_server]
port=*:9001
username=root
password=root
Так что моя проблема в том, что когда я запускаю проект docker -compose и другие зависимости (postgresql, redis) работают нормально, но супервизор не работает. Когда я запускаю команду «supervisord» внутри контейнера, она работает. Но при запуске это не работает.