直接回答:scratch 镜像里没有任何系统文件,所以 HTTPS 请求会因为缺少根证书失败、时间会取不到时区;把 ca-certificates.crt 和 zoneinfo 一起 COPY 进镜像就能解决。

发送https请求的时候没有证书

1
2
3
4
5
6
7
FROM scratch
WORKDIR /app
COPY rmtc .
COPY ca-certificates.crt /etc/ssl/certs/
COPY setverConfig.json ./config.json
EXPOSE 8000
CMD ["./rmtc"]

手动将证书复制到/etc/ssl/certs/目录下

获取本地时间报错

1
2
cstZone = time.FixedZone("CST", 8*3600)
time.Local = cstZone

在系统初始化的时候手动设置下时区

也可以将这个设置为全局变量

这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。

站内搜索

没有找到内容!