排查思路很实用,尤其是先找第一个未命中层,比只盯着耗时最长的步骤有效得多。我们之前在 CI 里遇到过本地秒构建、流水线每次重装依赖,最后发现临时 Runner 根本没有共享本地缓存。
补充一个小经验:优化后可以故意分别修改 README、源码和锁文件做对照测试。如果改 README 就触发依赖安装,通常说明 COPY 范围或 .dockerign...
这个思路很实用,尤其是分别在宿主机和容器内做禁止分片测试,能快速缩小问题范围。补充一点:抓包时除了关注 TCP 重传,也可以明确过滤相关 ICMP 报文,判断是否存在 PMTU 黑洞。若临时调低容器 eth0 后业务立即恢复,基本能验证方向,但最终仍应重建 Docker 网络并确认新容器中的 MTU。生产环境修改前还要记录原配置,评估 Docker 重启影响,并用文件上传、镜像拉取和 TLS...
这个排查顺序很实用,尤其是先看宿主机服务的监听地址。之前遇到过映射已经生效、容器内也能解析 host.docker.internal,但仍然拒绝连接,最后发现服务只绑定了 127.0.0.1。改为监听可达接口,并配置好防火墙后才恢复。
另外建议在镜像里预留 curl、nc 或 getent 等基础诊断工具,临时排障会方便很多。使用 Compose...
这套排查顺序很实用,尤其是先从日志中确认具体写入路径,再区分“文件系统只读”和“用户权限不足”,能避免一上来就改权限。实际部署时还可以在测试环境运行一段时间,通过日志或审计记录收集应用全部写入点,再逐一规划挂载。
补充一点:使用非 root 用户时,命名卷首次挂载后的目录属主也要核对,必要时可在镜像构建阶段创建目录并设置正确的 UID/GID。对于 tmpfs,除了限制容量,还应...