我正在开发 Docker Swarm(Docker 1.13.0)。此 Swarm 中将运行多个环境(又称覆盖网络)。环境将是 或,test
适用于给定的 Drupal 站点。staging
production
test
我们传统上试图使配置在、staging
和之间尽可能保持相似production
。例如,用于访问 MariaDB(Drupal 使用)的主机名位于drupaldb
这些环境中的任何一个中。
我们现在正在迁移到 Docker Swarm,但我们意识到服务名称必须是唯一的。服务名称也会成为主机名。这意味着我们只能使用drupaldb
一次,否则就会遇到麻烦。
就我目前的知识而言,我们必须为每个环境使用不同的主机名。我找不到在 Docker 中为服务设置别名的方法,手动维护别名似乎违背了服务发现的整个目的。
看来我们必须使用诸如siteA_drupaldb_test
、siteA_drupaldb_staging
和 之类的服务名称siteA_drupaldb_prod
。这很麻烦,而且意味着我们必须维护许多不同的配置文件,任何给定的 Drupal 站点都从这些配置文件启动。
有没有办法启动服务并为服务分配额外的别名和主机名?