我有一个由后端和前端组成的Web服务,在前端中,我使用了一个API uri,它可以根据部署服务的环境而变化。
使用webpack's EnvironmentPlugin,我可以简单地使用其他环境变量来构建源代码。该插件允许我在javascript中使用process.env
,这在开发阶段很方便,但是在 bundle 前端的代码后,process.env
在 bundle 时将与给定的环境变量保持不变。
问题是,我在CI管道上为Web服务构建了一个docker镜像,但是直到稍后对其进行部署之前,我不知道API uri。
如何根据环境变量有效地更改API uri?
最佳答案
您有两种选择来传递环境变量,一种是通过文件
docker run --env-file ./env.list ubuntu bash
另一种是通过命令行使用docker run命令的-e选项。您可以堆叠-e选项以传递多个环境变量。
您在dockerfile中拥有的功能之一就是能够声明条目。这样,您可以执行以下操作: