我有一个使用 Golang 的容器,调用了一个 https api。我正在使用 scratch 容器,但当我尝试运行时,我得到了一个 certificate signed by unknown authority
错误。
url := "https://restcountries.eu/rest/v2/name/" + params.Get("country")
response, err := http.Get(url)
我的 Dockerfile 如下所示:
FROM golang:1.15 AS builder
WORKDIR /GreetingAPI
COPY . /greeting
WORKDIR /greeting
ENV GO111MODULE=on
RUN CGO_ENABLED=0 GOOS=linux go build -o greeting
FROM scratch
COPY --from=builder /greeting .
CMD ["./greeting"]
我使用这个答案更新了我的Dockerfile。但是当我尝试构建容器时,出现了 ERROR: "/ca-certificates.crt" not found: not found
和failed to solve: rpc error: code = Unknown desc = failed to compute cache key: "/ca-certificates.crt" not found: not found
的错误。
FROM golang:1.15 AS builder
WORKDIR /GreetingAPI
COPY . /greeting
WORKDIR /greeting
ENV GO111MODULE=on
RUN CGO_ENABLED=0 GOOS=linux go build -o greeting
FROM scratch
ADD ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /greeting .
CMD ["./greeting"]