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