diff --git a/packages/cli/src/utils/sandbox.test.ts b/packages/cli/src/utils/sandbox.test.ts index e0e6789b72..afd189be59 100644 --- a/packages/cli/src/utils/sandbox.test.ts +++ b/packages/cli/src/utils/sandbox.test.ts @@ -336,7 +336,14 @@ describe('sandbox', () => { await expect(promise).resolves.toBe(0); expect(spawn).toHaveBeenCalledWith( 'docker', - expect.arrayContaining(['run', '-i', '--rm', '--init']), + expect.arrayContaining([ + 'run', + '-i', + '--rm', + '--init', + '--entrypoint', + '', + ]), expect.objectContaining({ stdio: 'inherit' }), ); diff --git a/packages/cli/src/utils/sandbox.ts b/packages/cli/src/utils/sandbox.ts index 86bb1af96e..f201858fc8 100644 --- a/packages/cli/src/utils/sandbox.ts +++ b/packages/cli/src/utils/sandbox.ts @@ -314,6 +314,10 @@ export async function start_sandbox( // run init binary inside container to forward signals & reap zombies const args = ['run', '-i', '--rm', '--init', '--workdir', containerWorkdir]; + // explicitly clear the entrypoint to prevent the container's default + // entrypoint from interfering with the CLI's spawn command. + args.push('--entrypoint', ''); + // add runsc runtime if using runsc if (config.command === 'runsc') { args.push('--runtime=runsc'); @@ -716,6 +720,8 @@ export async function start_sandbox( 'run', '--rm', '--init', + '--entrypoint', + '', ...(userFlag ? userFlag.split(' ') : []), '--name', SANDBOX_PROXY_NAME,