Docker entrypoint fails on non-root runtimes (ECS Fargate, Bottlerocket, etc.)#32005
Open
goingforstudying-ctrl wants to merge 16 commits into
Open
Docker entrypoint fails on non-root runtimes (ECS Fargate, Bottlerocket, etc.)#32005goingforstudying-ctrl wants to merge 16 commits into
goingforstudying-ctrl wants to merge 16 commits into
Conversation
|
Deployment failed with the following error: Learn More: https://vercel.com/docs/concepts/projects/project-configuration |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
goingforstudying-ctrl
force-pushed
the
fix/docker-entrypoint-mlock
branch
from
June 22, 2026 02:32
501733a to
3c1b390
Compare
goingforstudying-ctrl
force-pushed
the
fix/docker-entrypoint-mlock
branch
2 times, most recently
from
June 22, 2026 19:06
7452de7 to
4b3655c
Compare
goingforstudying-ctrl
force-pushed
the
fix/docker-entrypoint-mlock
branch
from
June 22, 2026 21:39
4b3655c to
20493f3
Compare
goingforstudying-ctrl
force-pushed
the
fix/docker-entrypoint-mlock
branch
from
June 24, 2026 00:42
d0b5e33 to
25d63c6
Compare
goingforstudying-ctrl
force-pushed
the
fix/docker-entrypoint-mlock
branch
from
June 24, 2026 17:06
25d63c6 to
f5e459b
Compare
goingforstudying-ctrl
force-pushed
the
fix/docker-entrypoint-mlock
branch
from
June 24, 2026 18:38
f5e459b to
0792da7
Compare
goingforstudying-ctrl
force-pushed
the
fix/docker-entrypoint-mlock
branch
from
June 24, 2026 22:02
0792da7 to
4f5374f
Compare
docker_entrypoint_test.go was missing the IBM copyright header. changelog/32005.txt documents the non-root runtime entrypoint fix.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docker entrypoint fails on non-root runtimes (ECS Fargate, Bottlerocket, etc.)
After the Dockerfile switched to
USER vaultin 2.0.0, the entrypoint still tries to runsetcapandchownunconditionally. On runtimes that don't grantIPC_LOCKor where the container starts as a non-root user,setcapfails with EPERM and the container exits before vault ever runs.I hit this on an ECS Fargate task — the only workaround was setting
SKIP_SETCAP=true, but that still leaves the entrypoint printing confusing warnings and doesn't handle the case where someone explicitly disabled mlock viaVAULT_DISABLE_MLOCK.The fix adds an explicit non-root branch to both entrypoint scripts:
scripts/docker/docker-entrypoint.sh— used by the main Docker build.release/docker/ubi-docker-entrypoint.sh— used by the Red Hat UBI buildWhat changes:
id -u != 0, we skip thesetcap/chownblock entirely instead of failingSKIP_SETCAP/SKIP_CHOWNwarnings so operators know what's happeningVAULT_DISABLE_MLOCKso users who explicitly disabled mlock don't get spurious errorssetcap,chown, and drops to thevaultuser viasu-execI also added a small Go test under
scripts/docker/that syntax-checks both entrypoint scripts and verifies the non-root guard is present. It's not a full integration test, but it catches accidental regressions in the shell logic.Fixes #31919