gpt4 book ai didi

scala - 使用 sbt-native-packager 的 docker 支持添加/复制文件

转载 作者:IT老高 更新时间:2023-10-28 12:43:45 24 4
gpt4 key购买 nike

我正在使用 sbt-native-packager 1.0.0-M5 来创建我的 docker 镜像。我需要添加一个不是源文件或资源文件夹中的文件。我的docker命令如下:

dockerCommands := Seq(
Cmd("FROM", "myrepo/myImage:1.0.0"),
Cmd("COPY", "test.txt keys/"), // <-- The failing part
Cmd("WORKDIR", "/opt/docker"),
Cmd("RUN", "[\"chown\", \"-R\", \"daemon\", \".\"]"),
Cmd("USER", "daemon"),
ExecCmd("CMD", "echo", "Hello, World from Docker")
)

失败:msg="test.txt: no such file or directory"

所以经过一番挖掘之后,我似乎需要在 target/docker/stage 中添加 test.txt。然后它工作。但是我如何自动获得它呢?该文件实际上在项目的根文件夹中。

最佳答案

我设法通过将文件添加到 mappings in Universal 来使其工作。所以对你来说,你需要这样的东西:

mappings in Universal += file("test.txt") -> "keys/test.txt"

顺便说一句,如果您这样做,则不需要 COPY 命令。

现在,我不确定这是否会将此映射添加到其他 sbt-native-packager 插件。我希望评论者能告诉我这是否属实,但我的直觉是它会这样做,这对你来说可能会破坏交易。但是任何解决方法都比没有好,对吧?如果你使用 Build.scala 你可以使用 VM 参数来告诉 sbt 是否添加这个映射...

关于scala - 使用 sbt-native-packager 的 docker 支持添加/复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28676006/

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