Use tini as Docker Runtime Init to Ensure Zombie Processes Get Reaped (#12133)

Co-authored-by: Tim O'Farrell <tofarr@gmail.com>
This commit is contained in:
Guy Elsmore-Paddock 2025-12-25 01:16:52 -05:00 committed by GitHub
parent 09af93a02a
commit 94e6490a79
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 0 deletions

View File

@ -346,6 +346,9 @@ class DockerSandboxService(SandboxService):
working_dir=sandbox_spec.working_dir, working_dir=sandbox_spec.working_dir,
labels=labels, labels=labels,
detach=True, detach=True,
# Use Docker's tini init process to ensure proper signal handling and reaping of
# zombie child processes.
init=True,
) )
sandbox_info = await self._container_to_sandbox_info(container) sandbox_info = await self._container_to_sandbox_info(container)

View File

@ -520,6 +520,9 @@ class DockerRuntime(ActionExecutionClient):
self.container = self.docker_client.containers.run( self.container = self.docker_client.containers.run(
self.runtime_container_image, self.runtime_container_image,
# Use Docker's tini init process to ensure proper signal handling and reaping of
# zombie child processes.
init=True,
command=command, command=command,
# Override the default 'bash' entrypoint because the command is a binary. # Override the default 'bash' entrypoint because the command is a binary.
entrypoint=[], entrypoint=[],