Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Docker compose Django Supervisord配置_Python_Django_Docker_Supervisord - Fatal编程技术网

Python Docker compose Django Supervisord配置

Python Docker compose Django Supervisord配置,python,django,docker,supervisord,Python,Django,Docker,Supervisord,我想在django应用程序运行时运行一些程序。这就是我选择supervisord的原因。我将docker compose和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.

我想在django应用程序运行时运行一些程序。这就是我选择supervisord的原因。我将docker compose和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 compose:

  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不工作。当我在容器内运行“supervisord”命令时,它正在工作。但在启动时,它不起作用。

您正在覆盖docker compose配置中api服务的命令……和应用程序代码,并禁用docker网络。您应该能够将
docker compose.yml
块简化为
build:
ports:
,并在其余部分使用docker默认值。