diff --git a/.changeset/grumpy-apes-repeat.md b/.changeset/grumpy-apes-repeat.md new file mode 100644 index 0000000000..bc47b0d422 --- /dev/null +++ b/.changeset/grumpy-apes-repeat.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +DockerContainerRunner.runContainer now automatically removes the container when its execution terminates diff --git a/packages/backend-common/src/util/DockerContainerRunner.test.ts b/packages/backend-common/src/util/DockerContainerRunner.test.ts index 8833e4518b..3208679d1f 100644 --- a/packages/backend-common/src/util/DockerContainerRunner.test.ts +++ b/packages/backend-common/src/util/DockerContainerRunner.test.ts @@ -115,6 +115,7 @@ describe('DockerContainerRunner', () => { Env: envVarsArray, WorkingDir: workingDir, HostConfig: { + AutoRemove: true, Binds: expect.arrayContaining([ `${path.join(rootDir, 'input')}:/input`, `${path.join(rootDir, 'output')}:/output`, @@ -207,6 +208,7 @@ describe('DockerContainerRunner', () => { logStream, expect.objectContaining({ HostConfig: { + AutoRemove: true, Binds: [], }, Volumes: {}, diff --git a/packages/backend-common/src/util/DockerContainerRunner.ts b/packages/backend-common/src/util/DockerContainerRunner.ts index 522328c2ec..4d4684c814 100644 --- a/packages/backend-common/src/util/DockerContainerRunner.ts +++ b/packages/backend-common/src/util/DockerContainerRunner.ts @@ -105,6 +105,7 @@ export class DockerContainerRunner implements ContainerRunner { await this.dockerClient.run(imageName, args, logStream, { Volumes, HostConfig: { + AutoRemove: true, Binds, }, ...(workingDir ? { WorkingDir: workingDir } : {}),