docker - 如何使用文件路径 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”设置为根资源文件夹。
解决方案
如果它是一个 Linux 容器,并且请求者具体是您在容器内运行的 Java 进程,那么file:///resources
将指向您添加的目录(映像根目录的子目录)。如果 URL 被提供给容器外部的东西(如 HTML 链接或图像引用),那么file:
URL 将无法访问容器内的文件;您必须想出其他东西来提供文件并为它们提供 HTTP URL。
推荐阅读
- ruby-on-rails - ActiveSupport::Duration 错误地计算间隔?
- python - 如何有条件地创建列表?
- flutter - Flutter http POST 产生没有异常消息的 ClientException
- python - 在具有 NaN 值的 pandas 数据帧上操作时精度损失
- apache-kafka - Debezium Kafka 连接错误 - TimeoutException:获取主题元数据时超时
- ios - 如何在 iOS 上测试 Firebase 无密码登录?
- python - 如何在 matplotlib 中使用不同的 xlimit 和轴 x 的大小制作子图?
- javascript - 无法在 python 上使用 requests-html 库运行 JavaScript
- javascript - 每次单击下一个输入时反应输入都会翻转
- javascript - 错误:这可能不是 npm 的问题。这可能是上面的附加日志输出