Docker 多阶段构建:把镜像从 900MB 砍到 80MB
编译型语言最容易踩的坑:把整个编译工具链、源码、包缓存都塞进运行镜像。用 multi-stage build,builder 阶段负责编译,final 阶段只 COPY 二进制,镜像体积能小一个数量级,攻击面也更小。
后端开发 · Linux 运维 · 网络协议 · 数据库 · 容器与自动化,偶尔写点折腾笔记。
编译型语言最容易踩的坑:把整个编译工具链、源码、包缓存都塞进运行镜像。用 multi-stage build,builder 阶段负责编译,final 阶段只 COPY 二进制,镜像体积能小一个数量级,攻击面也更小。
不用一上来就搞整套可观测性。先用 client 库暴露 /metrics,Prometheus 定时抓取,Grafana 画 QPS、延迟 P99、错误率三张图,就能覆盖 80% 的「服务到底健不健康」问题。