Docker json-file 日志轮转未生效:从磁盘告警到恢复服务的排查实践
## 适用场景 Docker 默认使用 `json-file` 日志驱动。运行一段时间后,宿主机 `/var/lib/docker` 持续变大,最终出现磁盘告警,甚至应用写文件、创建临时目录或重启容器都失败。本文适用于单机 Docker、Docker Compose 以及未由集中日志系统完全接管容器标准输出的场景。
Tag
包含这个标签的文章。
## 适用场景 Docker 默认使用 `json-file` 日志驱动。运行一段时间后,宿主机 `/var/lib/docker` 持续变大,最终出现磁盘告警,甚至应用写文件、创建临时目录或重启容器都失败。本文适用于单机 Docker、Docker Compose 以及未由集中日志系统完全接管容器标准输出的场景。
## 适用场景 服务容器偶发或持续重启,`docker ps -a` 显示退出码为 `137`,应用日志末尾没有 Java、Python 或 Go 自己抛出的异常。宿主机看起来还有可用内存,但容器仍被杀掉;或者一次流量高峰后多个容器同时不可用。 本文以 Docker / Docker Compose 部署的 API
## 适用场景 Linux 宿主机的根分区或 Docker 数据盘持续告警,`/var/lib/docker/overlay2` 占用不断增加;但镜像和容器数量并不多,普通镜像清理也没有效果。本文给出 overlay2 的归属定位、止血和治理流程。 > 以下路径以 `/var/lib/docker` 为例。先用 `
## 适用场景 这篇文章适用于 Pod 一直停留在 `Pending`、`ErrImagePull` 或 `ImagePullBackOff`,业务发布后没有新实例可用的场景。常见环境包括自建 Kubernetes、云厂商托管集群、私有镜像仓库 Harbor、阿里云/腾讯云镜像仓库,以及通过 CI/CD 自动更新镜像
## 适用场景 这类问题常见于 Ubuntu、Debian 或启用了 `systemd-resolved` 的 Linux 主机:宿主机可以正常解析域名,但 Docker 容器内访问外部域名失败,表现为应用请求超时、包管理器无法安装依赖、容器启动后健康检查一直失败。 典型环境包括: - 宿主机使用 Docker
## 适用场景 这类问题常见于单机 Docker、docker-compose 或没有接入集中日志系统的测试/生产节点。应用本身还在运行,但主机磁盘空间持续下降,最终出现接口异常、容器重启失败、镜像拉取失败、数据库写入失败等问题。 典型环境特征: - Docker 使用默认 `json-file` 日志驱动。 -
当使用 Dockerfile 构建 Java 应用程序时,可以使用 BuildKit 的 `--mount=type=cache` 参数来加速构建过程。BuildKit 的缓存功能可以利用之前构建层的缓存,从而加快构建速度。这对于 Java 应用程序而言尤其有用,因为 Java 应用程序的构建通常涉及到大量的依赖下载和
目录 [TOC] ## 一、配置NFS服务 ### 1.1 NFS服务端配置 ```bash yum install nfs-utils rpcbind -y mkdir -p /data/nfs/docker echo "/data/nfs *(rw,async,no_root_squash)">>/et
目录 [TOC] [Kubernetes单master架构部署(二进制)](https://www.ywcsb.vip/blog/119.html) # 一、高可用架构(扩容多Master架构) Kubernetes作为容器集群系统,通过健康检查+重启策略实现了Pod故障自我修复能力,通过调度算法实现将Pod分
目录 [TOC] # 一、前置知识点 ## 1.1 生产环境可部署Kubernetes集群的两种方式 目前生产部署kubernetes集群主要有两种方式: - kubeadm kubeadm是一个kus部署工具,提供kubeadm init和kubeadm join,用于快速部署kubernets集群。