我正在使用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
:
docker run -e VARIABLE_NAME=variable_value image_to_be_executed
# or
docker run --env-file path_to_env_file image_to_be_executed