Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.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容器中运行多个django服务?_Python_Django_Docker - Fatal编程技术网

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

Python 如何在单个Docker容器中运行多个django服务?,python,django,docker,Python,Django,Docker,我有一个Django项目,其中包含一些微服务,这些微服务严重依赖Django基础设施本身,必须从以下几个方面开始: python manage.py sevicename1 python manage.py sevicename2 python manage.py sevicename3 python manage.py sevicename4 python manage.py sevicename... 他们都互相交流。 在一个Dockerfile中同时运行它们的正确方法是什么?不可能在单独

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

python manage.py sevicename1
python manage.py sevicename2
python manage.py sevicename3
python manage.py sevicename4
python manage.py sevicename...
他们都互相交流。
在一个Dockerfile中同时运行它们的正确方法是什么?

不可能在单独的容器中剪切它们。 我找不到更好的解决方案,并通过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:
...
dg:&dg
图片:python:3.7.6-1
命令:…-->(gunicorn--config./gunicorn.conf.py core.wsgi:application)
dg_运行服务名称1:

不可能在单独的容器中切割它们。 我找不到更好的解决方案,并通过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:
...
dg:&dg
图片:python:3.7.6-1
命令:…-->(gunicorn--config./gunicorn.conf.py core.wsgi:application)
dg_运行服务名称1:

你看过docker compose吗?你的每个服务都应该在单独的容器中运行。因此,您可以为每个服务创建docker文件,并使用docker compose以正确的网络方式启动它们。请参阅下面我的想法。因此,您建议在不同容器中重用相同的源代码?是的,构建一个包含所有请求和代码的映像来运行您的应用程序。然后多次运行该映像。您查看过docker compose吗?您的每个服务都应该在单独的容器中运行。因此,您可以为每个服务创建docker文件,并使用docker compose以正确的网络方式启动它们。请参阅下面我的想法。因此,您建议在不同容器中重用相同的源代码?是的,构建一个包含所有请求和代码的映像来运行您的应用程序。然后多次运行该映像为什么不能将它们分离到多个容器中?如果你不这样做,你就失去了在微服务之间保持粒度的好处,因为在这种情况下,我将不得不在每个容器中复制整个项目的所有源代码。为什么你不能将它们分离到多个容器中?如果你不这样做,你就失去了在微服务之间保持粒度的好处,因为在这种情况下,我将不得不在每个容器中复制整个项目的所有源代码。