登录
首页 >  Golang >  Go问答

使用Docker访问基于Web服务器构建的静态文件的方法

来源:stackoverflow

时间:2024-02-09 17:45:27 456浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《使用Docker访问基于Web服务器构建的静态文件的方法》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

当我使用 docker 构建本地网络服务器的静态文件时,我遇到了访问静态文件的问题。我正在使用 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:///。

你想要这个:

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

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

理论要掌握,实操不能落!以上关于《使用Docker访问基于Web服务器构建的静态文件的方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>