标准答案
- HTTPS 客户端需要可信 CA 证书;镜像中缺失或过期时会出现证书验证失败。
- 时区数据影响本地时间转换和日志展示,业务时间应优先使用明确的 UTC/时区规则。
- locale 数据影响排序、大小写和格式化,应用应明确依赖并在镜像构建或运行时提供。
- 构建后应在最小运行镜像中实际验证证书链、时间转换、日志和定时任务,而不是在 builder 阶段验证。
题目解析
精简镜像经常删除系统数据,但 CA bundle、tzdata 和 locale 会直接参与 TLS 校验、时间转换、排序和格式化。builder 阶段拥有这些文件,不代表最终运行镜像也拥有;应按应用实际库和协议建立运行时依赖清单。
业务时间应明确使用 UTC 或具体 IANA 时区,证书验证应使用受信任 CA,locale 则按产品需要配置。最终验收要在最小镜像中测试 HTTPS、证书轮换、日志时间、定时任务、大小写和排序,而不是用关闭校验来掩盖缺失。
常见误区
- 误区:关闭 TLS 证书验证来绕过缺证书。改正:把正确 CA bundle 放进运行镜像,并检查证书链和更新时间。
- 误区:把宿主机时区当成容器内一定存在。改正:显式安装或挂载所需 tzdata,并在应用层明确时区语义。