为了账号安全,请及时绑定邮箱和手机立即绑定

Docker 容器中的 HTTP 请求因 HTTPS 端点而失败

Docker 容器中的 HTTP 请求因 HTTPS 端点而失败

Go
噜噜哒 2022-06-01 17:59:09
我在 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/


查看完整回答
反对 回复 2022-06-01
?
慕村225694

TA贡献1880条经验 获得超4个赞

您可能需要添加

RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/*


查看完整回答
反对 回复 2022-06-01
  • 2 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信