繁体   English   中英

如何访问 static 文件以通过 docker 构建网络服务器

[英]How to access static file for webserver build via docker

当我使用 docker 构建它时,我在访问本地网络服务器的 static 文件时遇到问题。我使用 github.com/xeipuuv/gojsonschema 工具包通过本地 json 模式文件验证传入的 json 请求

schemaLoader := gojsonschema.NewReferenceLoader("file://C:/Users/user/Workspace/jsonschema.json")

但是当我尝试使用 docker 访问文件时,它说“没有这样的文件或目录”。 我使用的 Dockerfile 是:

FROM golang:1.17-alpine
WORKDIR /app

COPY go.mod .
COPY go.sum .
COPY jsonschema.json .

RUN go mod download
COPY *.go ./
RUN go build -o /main
EXPOSE 8080
CMD ["/main"]

非常感谢您。 最好的祝福

我尝试将目录更改为,即

schemaLoader := gojsonschema.NewReferenceLoader("file://app/jsonschema.json")

但它没有帮助。

您的修复几乎是正确的,但您在 file:// 路径中缺少一个 / 。

这里解释一下 file:/、file:// 和 file:/// 之间的区别。

你要这个:

schemaLoader := gojsonschema.NewReferenceLoader("file:///app/jsonschema.json")

这意味着:使用文件 uri (file://) 加载具有绝对路径的文件 (/app/jsonschema.json)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM