首页 > 解决方案 > Angular Docker 运行时环境

问题描述

我有一个角度应用程序,它在 docker 容器中与 nginx 一起运行。docker 镜像在私有 docker hub 中发布。现在我想将环境从 docker 传递给编译的Angular 应用程序。有时我创建 aconfig.json和 a ConfigService,它会读出文件。该文件可以通过 docker 卷进行更改。不幸的是,我不知道如何在模块中使用环境变量。

@NgModule({
  imports: [
    ...
    AgmCoreModule.forRoot({
      apiKey: environment.system.googleMaps.apiKey // old way
    }),
    ...
  ],
  declarations: [
    ...
  ],
  providers: [
    ...
    ConfigService
    ...
  ]
})
export class ContractsModule {}

此外,这只是一种解决方法。完美的是使用 docker 环境。有什么想法吗?

我认为这是一个好方法:https ://stackoverflow.com/a/49349963/8581092 。

标签: angulartypescriptdocker

解决方案


您可以在构建 docker 映像时使用 ENV 关键字,或者在运行映像时使用 --env 关键字。

docker 使用 env 运行命令


推荐阅读