Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将配置文件注入openshift docker构建(不是pod)_Docker_Openshift - Fatal编程技术网

如何将配置文件注入openshift docker构建(不是pod)

如何将配置文件注入openshift docker构建(不是pod),docker,openshift,Docker,Openshift,在docker构建开始之前,我正在生成一个配置文件,其中包含许多特定于环境的配置。我不希望它出现在我的存储库中,因为它经常更改 Openshift建议在docker构建过程中直接从容器下载所需的工件。由于它们对于每个部署都是唯一的,并且不可变地存储在容器中,因此我希望避免将配置文件首先推送到工件repo,然后再从容器中下载它 此外,他们可能有敏感数据。虽然这应该很容易通过环境变量注入 是否有其他方法传递小配置文件配置是影响构建还是仅影响部署 如果只是部署,请使用配置映射或机密。这些可以用作设置环

在docker构建开始之前,我正在生成一个配置文件,其中包含许多特定于环境的配置。我不希望它出现在我的存储库中,因为它经常更改

Openshift建议在docker构建过程中直接从容器下载所需的工件。由于它们对于每个部署都是唯一的,并且不可变地存储在容器中,因此我希望避免将配置文件首先推送到工件repo,然后再从容器中下载它

此外,他们可能有敏感数据。虽然这应该很容易通过环境变量注入


是否有其他方法传递小配置文件配置是影响构建还是仅影响部署


如果只是部署,请使用配置映射或机密。这些可以用作设置环境变量的源,也可以作为部署容器中的文件装入。

这是正在运行的部署的配置。是的,我一直在考虑秘密文件。但那太过分了,因为我只希望在构建过程中存在这些秘密。我会创建一个秘密,以某种方式将其复制到容器中,然后再次删除它。因此,我必须确保更多临时资源的生命周期是稳定的。因此,当构建失败或出现其他问题时,没有什么是偶然的。配置映射也是如此。实际配置驻留在不同的参数存储中,因此必须为每个构建创建它们。你自相矛盾。您说它是正在运行的部署的配置,但随后又说您只希望它在构建期间存在。这没有什么意义,因为它必须保存在映像中才能用于部署。你能更详细地解释一下配置的用途吗?如果用于部署,则选择环境变量、配置映射和机密。这些都不是多余的,这是提供给你使用的方法,使用它们是正常的。好的,注意到你的澄清问题。使用生成机密并让生成步骤将文件复制到映像中的不同位置。如果这是机密信息,则意味着您要将其保存在映像中,这通常不是一个好主意。请运行oc explain bc.spec.source.SECURESS以查看有关构建机密的详细信息。