[英]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.