-
Notifications
You must be signed in to change notification settings - Fork 386
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[docker in docker] Adds retries for docker daemon startup and cgroup nesting #669
Conversation
Note: The failing test will be fixed with #661 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice! This looks really reasonable and the 50 passing tests doesn't hurt 😉
@joshspicer **100 😛 |
Ref: #634 and #660
Updates in this PR -
sed: couldn't flush stdout: Device or resource errors
which fails to start docker.25d2e80 adds retries to fix suchsed
errorsonCreateCommand
Important Note:
/usr/local/share/docker-init.sh
which starts/retries dockerd is added to theentrypoint
command. This command runs in the background and is not a blocking script for the container startup. Since it's in the background,onCreateCommand/postCreateCommand/postStartCommand
could all start executing before docker is fully running. If it takes docker too long, that could introduce flakiness in those lifecycle scripts.Opened devcontainers/spec#299 which requests a new semantics to have "blocking" entrypoints that the CLI waits for. This way we can ensure that docker is already up and running for the mentioned ^ lifecycle scripts and is available in the container.