【问题标题】:How to reference embedded Docker resource files using file path URL如何使用文件路径 URL 引用嵌入式 Docker 资源文件
【发布时间】:2019-01-02 11:51:58
【问题描述】:

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

COPY resources /resources

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

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

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

注意:我专门使用 pdfreactor 网络服务,我的 Dockerfile 是这样的:

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

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

【问题讨论】:

    标签: docker dockerfile pdf-reactor docker-copy


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      根据https://www.pdfreactor.com/product/doc_html/index.html#resourceLoading上的官方文档

      也可以指定文件 URL:

      Java:config.setBaseURL("file:///directory/")

      PHP: $config["baseURL"] = "file:///directory/";

      .NET: config.BaseURL = "file:///directory/";

      CLI:--baseURL "file:///directory/"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-02
        • 2014-10-15
        • 2012-08-07
        • 1970-01-01
        • 2010-09-06
        • 1970-01-01
        • 2020-09-09
        • 2018-08-17
        相关资源
        最近更新 更多