SBT 本机打包程序不会将文件复制到 Docker 图像
SBT native packager does not copy file to Docker image
我有一个 Akka SBT 项目。它由多个SBT子模块组成:
- 常见包含
resources/logback-prod.xml
- app依赖另外两个子模块
- postgres
我构建了项目的 docker 图像。唯一不影响图像的命令是:
...
dockerPackageMappings in Docker +=
((resourceDirectory in Compile).value / "logback-prod.xml") -> "/opt/docker/conf/logback-prod.xml"
...
这行代码不会将 logback-prod.xml
从 common 子项目复制到 docker /opt/docker/conf/
路径
相反,它通过我上面提到的路径创建了一个名称为 "logback-prod.xml" 的目录。
我做错了什么?
通常当你得到一个空目录而不是Docker中的文件时,这意味着源文件不存在。 IE。在您的情况下,这可能意味着您的源路径是错误的。尝试用绝对路径复制一个文件,看看它是否被正确复制。
问题通过这行代码解决:
mappings in Docker += (resourceDirectory in common in Compile).value / "logback-prod.xml" -> "/opt/docker/conf/logback-prod.xml",
我有一个 Akka SBT 项目。它由多个SBT子模块组成:
- 常见包含
resources/logback-prod.xml
- app依赖另外两个子模块
- postgres
我构建了项目的 docker 图像。唯一不影响图像的命令是:
...
dockerPackageMappings in Docker +=
((resourceDirectory in Compile).value / "logback-prod.xml") -> "/opt/docker/conf/logback-prod.xml"
...
这行代码不会将 logback-prod.xml
从 common 子项目复制到 docker /opt/docker/conf/
路径
相反,它通过我上面提到的路径创建了一个名称为 "logback-prod.xml" 的目录。
我做错了什么?
通常当你得到一个空目录而不是Docker中的文件时,这意味着源文件不存在。 IE。在您的情况下,这可能意味着您的源路径是错误的。尝试用绝对路径复制一个文件,看看它是否被正确复制。
问题通过这行代码解决:
mappings in Docker += (resourceDirectory in common in Compile).value / "logback-prod.xml" -> "/opt/docker/conf/logback-prod.xml",