docker工人,docker工人 – 组成应用程序设置

我开始将我的应用程序迁移到Docker容器:我使用Ngnix,supervisord,gunicorn,python烧瓶,芹菜,花,lighttpd,RabbitMQ和Postgresql。 在我原来的虚拟机中,我将所有configuration保存在/ usr / local / src / application / conf /中settings.py我定义了我的:

SQLALCHEMY_DATABASE_URI 

在celeryconfig.py中我定义:

 BROKER_URL 

我将创build5个容器:

  • Ngnix负载均衡器
  • Flask API
  • 芹菜
  • 的RabbitMQ
  • Lighttpd的

我正在使用docker-compose和卷。 由于现在我所有的IP地址都是本地主机(127.0.0.1)

  1. 什么是我的每个容器访问一个共同的configurationbuild议? 卷?

  2. 我怎么知道哪个IP地址分配给每个容器,所以我可以定义我的设置? 例如,当RabbitMQ启动什么IP我应该configuration在BROKER_URL?

  3. 由于我的Docker应用程序仍然会指向我的git repo,我可以将它指向我的主机文件夹,我应该在这里使用卷吗?

基础设施

  1. 关于您的configuration,您可以直接使用env_file作为文件或环境传递撰写环境variables: https ://docs.docker.com/compose/compose-file/#env-file
  2. 对于IP,当你在Compose中链接容器时,在你的yml中设置的容器的名字就是这个容器的主机名。 你不需要一个IP,只需要用户名。 你可以通过在一个组合容器中执行exec bash来尝试这个方法,并试图用其名称来ping另一个容器。
  3. “指向你的主机文件夹”是什么意思,尽可能直接放在容器中,但是如果你真的需要将一些数据提取到你的主机文件夹,那么你会需要卷。