数据库-docker-compose服务的集中配置

前端之家收集整理的这篇文章主要介绍了数据库-docker-compose服务的集中配置 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

想象一下一个不平凡的docker compose应用程序,其中Nginx位于Web应用程序的前面,并且有几个链接的数据存储区:

web:
  build: my-django-app
  volumes:
    - .:/code
  ports:
    - "8000:8000"
  links:
    - redis
    - MysqL
    - mongodb
Nginx:
  image: Nginx
  links:
    - web
redis:
  image: redis
  expose:
    - "6379"
MysqL:
  image: MysqL
  volumes:
    - /var/lib/MysqL
  environment:
    - MysqL_ALLOW_EMPTY_PASSWORD=yes
    - MysqL_DATABASE=myproject
mongodb:
  image: mongo

数据库非常容易配置(目前),容器公开了很好的环境变量来控制它们(请参见MysqL容器),但是Nginx是什么?我们需要为此模板一个虚拟主机文件,对吗?

我不想投射自己的映像,这需要针对每个更改的配置(从不同开发人员的设置)进行重新构建,以进行测试,以及进行分阶段和生产.如果我们想通过轻巧的方式通过配置选项进行A / B测试,该怎么办?

这里需要一些集中化的配置管理,也许是由docker-compose控制的可以将配置文件写到共享卷的东西?

随着添加新服务,这将变得更加重要(想象一个微服务云,而不是像本例中那样的整体Web应用程序)

在docker-compose项目中管理配置的正确方法是什么?

最佳答案
通常,您会发现大多数容器都使用入口点脚本通过使用环境变量填充配置文件来配置应用程序.有关此方法的高级示例,请参见0001 for WordPress official image.

因为这是一种常见的模式,所以Jason Wilder创建了dockerize项目来帮助自动化该过程.

原文链接:https://www.f2er.com/docker/532591.html

猜你在找的Docker相关文章