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

How to load external config file in 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 通过将文件作为参数传递来提供将这些变量包含到您的环境中的运行时解决方案。所以这就是我在使用 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