SShortSingh.
Back to feed

Docker Engine 29.8 adds --umask flag to fix permissions gap in exec and healthchecks

0
·15 views

Docker Engine 29.8.0, released on 3 September 2026, introduces a native --umask flag for docker run and docker create, designed to apply a consistent umask across a container's main process, exec sessions, and healthchecks. Previously, the standard workaround of setting the umask inside an entrypoint script only affected PID 1 and its child processes, leaving docker exec sessions and healthcheck commands to inherit the container runtime's default umask of 022. This meant files created via docker exec could receive unintended permissions — for example, 644 instead of the intended 640 — a discrepancy that could silently break deploy scripts or monitoring tools. Testing confirmed the old entrypoint approach consistently produced wrong permissions for exec and healthcheck processes, while the new --umask flag enforced the correct permissions across all three. The flag also validates input strictly, rejecting non-numeric or malformed values before the container is even created.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Claude Code 'Don't Ask Again' feature linked to passwords exposed in 1,122 public GitHub files

A report highlighted that Claude Code's 'Don't Ask Again' feature, intended to remember user preferences and reduce repetitive prompts, was associated with sensitive credentials appearing in 1,122 public GitHub files. The article frames the issue as a security lapse arising from prioritizing convenience over protection. The author draws on a personal experience of accidentally publishing API keys to illustrate the risk. Recommended safeguards include storing secrets in environment variables, conducting code reviews, and using GitHub Secrets to keep sensitive data out of repositories. The piece emphasizes that developers should remain vigilant about what they publish.

0
ProgrammingDEV Community ·

NVKE: Open Source Tool for Running Managed GPU Kubernetes Clusters on Your Own Hardware

NVIDIA Kubernetes Engine (NVKE) is an open source, Apache-2.0 licensed project that lets platform teams create and operate isolated Kubernetes clusters on bare-metal GPU servers they own. It runs as a management plane on the hardware and provisions machines through NVIDIA Infra Controller, with each workload cluster getting its own control plane, etcd and node pools. Users interact with their clusters using standard kubectl, without needing to know NVKE exists. The project is currently in preview, its APIs may change between releases, and it is not recommended for production workloads. It is aimed mainly at organizations building internal Kubernetes-as-a-service offerings on GPU infrastructure.

0
ProgrammingDEV Community ·

Why RunPod checkpoints vanish after a pod stops, and how to keep them

Users running training jobs on RunPod have reported that model checkpoints disappeared after they stopped the pod to save money, often without any error message. The cause is that default output paths and the Hugging Face cache sit on container storage, which is wiped when a pod stops or terminates, while only a network volume mounted at /workspace persists. The article recommends explicitly setting the checkpoint output directory to /workspace and exporting HF_HOME to a persistent path in the launch script. Eight user research sessions with ML engineers found checkpoint loss to be the most consistently reported failure. The author also suggests running a pre-flight storage check, such as the open-source ComputeFence tool, before a job begins.

0
ProgrammingDEV Community ·

Classroom Session Shutdown: Revoke Tokens Before Channel Cleanup and Attendance Logging

The article argues that a classroom's in-app notification channel should be shut down in a fixed order: revoke issued tokens, disconnect remaining clients, then delete the channel. It recommends that a Node.js Express application handle this as one shutdown operation that also records the session end time for attendance reporting. Revoking tokens first prevents clients from reconnecting and recreating state, while deleting the channel first would leave them retrying. The piece also stresses tracking each shutdown step with identifiers so responders can tell an incomplete shutdown from a finished one followed by rejected reconnects. It separates a student's temporary connection loss from a teacher ending the class, and presents the instrumentation as a proposed design rather than a built-in provider feature.