技术随笔仓库

日常踩坑记录 | 后端、运维、网络安全、开发经验分享

🧩 技术栈

Java / SpringBoot MySQL / Redis Nginx 运维 Linux 网络代理配置 逆向调试 前端基础 容器云原生

📝 近期笔记分享

Docker 网络模式选型:bridge/host/overlay
容器间通信、端口映射、跨主机互联,三种网络模式各自的实现原理和适用边界,以及容器网络性能损耗的真相。
K8s Pod 一直 Pending:原因速查表
Pending 是调度阶段的病,跟起不来(CrashLoopBackOff)是两回事。按 kubectl describe 的 Events 段整理 Pending 的六大原因:资源不足、亲和性冲突、污点、PVC 未绑定、镜像拉取前置失败、配额限制。
容器 OOMKilled 但宿主机内存充足
容器反复被杀,exit code 137,宿主机 free 一看还有 10G 空闲。解释 cgroup 内存限制的独立账本、JVM 在容器里的感知问题、以及内存统计里 page cache 的角色。
docker-compose 依赖顺序与健康检查
depends_on 写了却不生效,应用启动时数据库还没就绪。拆解 depends_on 的真实语义、healthcheck 驱动的条件启动、以及应用侧连接重试为什么仍然不能省。
Docker 镜像瘦身:从 1.2G 到 90M
Java 应用镜像 1.2G,拉取部署分钟级。记录瘦身路径:基础镜像选择、多阶段构建、层合并与 .dockerignore,以及瘦身带来的构建缓存收益。
Docker 容器时间与时区:8 小时偏差的修复
容器里 date 出来是 UTC,日志时间对不上,Java 应用日期计算错一天。整理时区的三层机制(内核时钟/系统时区/应用时区)、镜像里配置时区的正确方式。

📬 联系

技术交流欢迎留言,页面为临时静态站点,不定期更新踩坑笔记。