如何在单个Docker容器中运行多个Django服务?

2024-09-19 23:33:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django项目,其中包含一些微服务,这些微服务严重依赖Django基础设施本身,必须从以下几个方面开始:

python manage.py sevicename1
python manage.py sevicename2
python manage.py sevicename3
python manage.py sevicename4
python manage.py sevicename...

他们都互相交流。 在一个Dockerfile中同时运行它们的正确方法是什么


Tags: 项目django方法pydockerfilemanage基础设施交流
1条回答
网友
1楼 · 发布于 2024-09-19 23:33:11

不可能在单独的容器中切割它们。 我找不到更好的解决方案,并通过YAML锚在docker-compose.yml中实现了这一点

dg: &dg
  image: python:3.7.6-alpine
   command: ....   > ( gunicorn  config ./gunicorn.conf.py core.wsgi:application)

dg_run_sevicename1:
  <<: *dg
  restart: on-failure
  ports:
    - 9011:9011
  command: python manage.py sevicename

dg_run_sevicename2:
  <<: *dg
  restart: on-failure
  command: python manage.py sevicename2

dg_run_sevicename3:
...

除非我同意基本上多个相同的项目源,并在每个DOCKERFILE或YML声明的末尾使用单独的CMD或ENTRYPOINT,否则这是完全正确的。 它起作用了。但是,图像的总大小是原始文件夹本身的3倍。 有没有可能以更好的方式做到这一点

相关问题 更多 >