我在 golang 中构建了一个小应用程序,使用 alpine:golang 基本映像,其中包括来自 HTTP.get 的响应。我请求的 api 端点通过 HTTPS ( https://jsonplaceholder.typicode.com/users )运行该代码在本地运行良好,并且 docker 映像构建良好,但运行时出现以下错误:The HTTP request failed with error Get "https://jsonplaceholder.typicode.com/users": x509: certificate signed by unknown authority我不确定这是否是特定的 Docker 问题(我无法从其他 Docker 容器卷曲 HTTPS)、我的网络限制(我不在 VPN 上但我们确实使用 zScaler),或者我是否需要包括/configure 作为我的 Dockerfile 的一部分。我的 dockerfile 看起来像:FROM alpine:golang#Create and set the working directoryRUN mkdir /app WORKDIR /app # Copy all the go scripts into the image working directoryCOPY /pipelines/core/rtbf-pipeline-1 ./# Make the binaries executableRUN chmod +x /app/rtbf-pipeline-1CMD ["app"]任何帮助将不胜感激
2 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
您需要将一组受信任的根证书复制到您的 Docker 映像。
在您Dockerfile添加类似的内容:
FROM golang:alpine AS build
// build your go app here
FROM scratch
// copy go app from `build`
// ...
//
// add trust certs
//
COPY --from=build etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
慕村225694
TA贡献1880条经验 获得超4个赞
您可能需要添加
RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/*
- 2 回答
- 0 关注
- 89 浏览
添加回答
举报
0/150
提交
取消