gpt4 book ai didi

使用外部文件构建 Docker

转载 作者:行者123 更新时间:2023-12-02 20:04:24 28 4
gpt4 key购买 nike

我有一个 docker 文件,它执行简单的 dotnet restore在容器内,基本上是这样的:

FROM microsoft/dotnet:2.1-sdk-alpine as build-env
COPY . .
RUN dotnet restore

现在,有时 dotnet restore需要外部包,即外部 nuget.config文件。

根据您是否使用 windows/mac 等,可以在不同的位置找到此文件,但运算符(operator)总是希望知道它在哪里。

更何况,这个文件有 敏感信息因此不能在存储库中。我想做的就是当我做 docker build .我想将该文件传递到 docker 容器中。该文件不会成为 . 的一部分。上下文并将驻留在其他地方。

从概念上讲,我想做 docker build -file "c:\XXX\Nuget.Config"然后让它在 docker 中可用。如果我能以某种方式将该文件/目录挂载到卷 中,也可以是一个选项。在构建时 .

任何帮助将不胜感激。

PS:我考虑过 docker-compose所以可能对使用它的解决方案持开放态度,尽管现在我只想保持简单并使用 docker

最佳答案

我能想到两个简单的选择,具体取决于信息的敏感程度:

  • 如果它非常敏感,您可以在 docker 之外构建二进制文件并通过复制二进制文件来创建最终图像。
  • 如果您可以在临时构建容器中允许敏感信息(但不允许在最终交付的镜像中),那么多阶段构建(如 this one )将起作用。 (当然,在构建之前,您必须确保 nuget.config. 上下文中。)
  • 关于使用外部文件构建 Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51075565/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com