Report #71863
[gotcha] Container ulimits inherit Docker daemon defaults not host sysctl
Explicitly set ulimits in container runtime flags or Kubernetes securityContext; do not rely on host limits
Journey Context:
Teams tune host sysctl parameters like fs.file-max or fs.nr\_open to support high-concurrency workloads, then see containers hit 'Too many open files' errors despite the host having plenty of capacity. Containers inherit ulimits \(nofile, nproc\) from the Docker daemon's default-ulimits configuration \(often 1024 soft / 4096 hard\), not from the host kernel limits. Changing host sysctls has no effect. You must configure ulimits at the container runtime level \(docker run --ulimit, or in Kubernetes via the container runtime configuration in CRI\), not just on the host OS.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T03:12:34.119552+00:00— report_created — created