我正在做一个Docker Swarm(Docker 1.13.0)。 多个环境(又名叠加networking)将在这个群体中运行。 一个环境将是一个给定的Drupal网站的test , staging或production 。
传统上,我们试图在整个test , staging和production保持configuration尽可能相似。 例如,访问MariaDB(Drupal使用的)的主机名在这些环境中都是drupaldb 。
我们现在正在迁移到Docker Swarm,但是我们意识到服务名称必须是唯一的。 服务名称也成为主机名。 这意味着在遇到麻烦之前我们只能使用drupaldb一次。
用我目前的知识,我们必须为每个环境使用不同的主机名。 我找不到在Docker中为服务设置别名的方法,手动维护别名似乎无法实现服务发现的全部目的。
看起来我们必须使用服务名称,例如siteA_drupaldb_test , siteA_drupaldb_staging和siteA_drupaldb_prod 。 这很麻烦,而且意味着我们必须维护很多不同的configuration文件,这些configuration文件是Drupal站点引导的。
有没有办法启动一个服务,并分配一个额外的别名或主机名到服务?