簡體   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