首页 > 解决方案 > 如何使用文件路径 URL 引用嵌入式 Docker 资源文件

问题描述

我创建了一个 Docker 映像并在其中嵌入了一些静态资源文件,在 Dockerfile 中使用以下命令:

COPY resources /resources

我有一个在 Docker 容器中运行的 Java Web 应用程序,它需要访问这些静态文件。必须使用 URL 提供文件路径,例如:

file://c:/resources/myresourcefile.css

我能够以编程方式构建 URL,但不确定是否可以通过这种方式引用嵌入式文件。任何指导将不胜感激!

注意:我专门使用 pdfreactor Web 服务,因此我的 Dockerfile 是:

FROM realobjects/pdfreactor:9.1
EXPOSE 9423
COPY resources /resources

我正在尝试将 PDFreactor 包装器客户端的“BaseURL”设置为根资源文件夹。

标签: dockerdockerfilepdf-reactordocker-copy

解决方案


如果它是一个 Linux 容器,并且请求者具体是您在容器内运行的 Java 进程,那么file:///resources将指向您添加的目录(映像根目录的子目录)。如果 URL 被提供给容器外部的东西(如 HTML 链接或图像引用),那么file:URL 将无法访问容器内的文件;您必须想出其他东西来提供文件并为它们提供 HTTP URL。


推荐阅读