在开发环境调试没有问题,但是在容器中运行时就会报类似 x509: certificate signed by unknown authority
的异常。
我用的基础镜像是 ubuntu:18.04
,解决方案是预置一些证书文件到镜像中,这些证书文件可以通过 alpine
镜像拿到,所以可以通过如下 Dockerfile
解决:
FROM alpine as certs
RUN apk update && apk add ca-certificates
# 从别的镜像中 copy 证书
FROM ubuntu:18.04
COPY --from=certs /etc/ssl/certs /etc/ssl/certs