如何在Docker加载外部配置文件?



我正在使用Docker来构建Node应用程序映像。我在位于source_folder/config.yaml的YAML文件中进行配置。

在我的index文件中做await readFile(new URL('../config.yaml', import.meta.url), 'utf8')时,它说运行后找不到文件。但是,在Dockerfile中做-COPY config.yaml ./解决了这个问题,但我不想在映像构建中复制我的凭据。

是否有任何解决方案,我可以加载配置文件后构建图像?

利用ESM。

我使用dotenv来加载我的环境变量。我理解在构建中不包含它的必要性。Docker提供了一个运行时解决方案,通过将文件作为参数传递,将这些变量包含到你的env中。这就是我在使用docker run:

时加载env的方法
docker run -e VARIABLE_NAME=variable_value image_to_be_executed
# or 
docker run --env-file path_to_env_file image_to_be_executed

最新更新