我有两个应用程序(.net core 3.1和Angular 8),它们作为docker容器部署在aws ecs上。现在我想设置多个环境,例如质量,阶段,生产等。现在,我想从特定的配置文件中读取数据,以便临时Docker容器将从appsettings.staging.json中读取数据,对于生产而言,它将从appsettings.production.json中读取数据。与Angular相同。
我该怎么做?我可以在aws的codebuild中指定环境变量,但是如何告诉docker读取特定文件?
有很多方法可以给这只猫蒙皮。它们都涉及为每个环境创建一个单独的任务定义(都使用相同的容器)。
您可以将不同的环境变量传递到每个任务定义中(或装入不同的卷)。>>
您可以将所有配置文件打包到您的容器中,并具有一个指向每个环境的正确文件的环境变量。
还有其他选项,不需要将所有配置打包在docker文件中。这具有优势,因为当您更改配置时不需要重建容器。
您可以将所有配置放入环境变量中,使用AWS Secrets Manager,或为每个任务定义的配置装入不同的卷。
一些随机的想法: