Link 现有 docker 外部配置文件和要在 C# 核心中使用的数据(linux 容器)

Link existing docker to external configuration file and data to be used it in C# core (linux container)

我正在用 C# 核心编写,使用 linux 容器(运行ning 在 windows 中)。

我需要一种使用外部配置文件的方法,以及一种在编程(C# 核心代码)中获取配置文件值的方法

没有将 docker 配置文件复制到映像中,供以下人员使用:

docker cp ...

需要现有容器,无需重建或 运行 新容器实例(仅使用现有容器)。

此外,我需要将卷映射到现有容器,而无需重建或运行 新容器。

以下命令不适用,因为它会创建一个新的容器实例:

docker run -v ...

还需要一种在 C# 核心语言中读取一些特定环境变量的方法,将其用作:

docker run -e ...

以上有什么最佳实践吗?

谢谢。

需要删除和重新创建容器是非常正常的。例如,如果您有一个新构建的应用程序,则需要删除并重新创建任何容器,这些容器 运行 将其 运行 与新图像相对应。您不能将卷映射添加到现有容器;但是重新创建容器应该是例行公事,因此使用新的卷映射重新创建容器应该没什么大不了的。

使用docker run -v作为将配置文件注入容器的路径是很正常的。您可以将其存储在容器中的固定路径中,并使用您随时可用的任何配置文件解析库来读取它。它可以在主机上的任何位置,但是 docker run -v 选项右侧的固定值很好。

(使用绑定挂载卷的另外两个好处是从容器中获取日志文件,以及存储存在于文件系统中但必须超过单个容器实例的持久数据。)