Docker部署Golang程序的证书问题

2022-03-28 11:40:03

在开发环境调试没有问题,但是在容器中运行时就会报类似 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