diff --git a/src/docker/assets.ts b/src/docker/assets.ts index 89f46e90..40fe1285 100644 --- a/src/docker/assets.ts +++ b/src/docker/assets.ts @@ -72,6 +72,7 @@ mkdir -p "$RUNDIR" echo "Starting dockerd" set -x exec dockerd \\ + --debug \\ --host="$DOCKER_HOST" \\ --exec-root="$RUNDIR/execroot" \\ --data-root="$RUNDIR/data" \\ diff --git a/src/docker/install.ts b/src/docker/install.ts index 8c19e7e1..bd6c8197 100644 --- a/src/docker/install.ts +++ b/src/docker/install.ts @@ -311,13 +311,17 @@ export class Install { core.info(fs.readFileSync(path.join(this.runDir, 'dockerd.log'), {encoding: 'utf8'})); }); await core.group('Stopping Docker daemon', async () => { - await Exec.exec('sudo', ['kill', fs.readFileSync(path.join(this.runDir, 'docker.pid')).toString().trim()]); + await Exec.exec('sudo', ['kill', '-s', 'SIGTERM', fs.readFileSync(path.join(this.runDir, 'docker.pid')).toString().trim()]); + await Util.sleep(5); }); await core.group('Removing Docker context', async () => { await Exec.exec('docker', ['context', 'rm', '-f', this.contextName]); }); await core.group(`Cleaning up runDir`, async () => { - await Exec.exec('sudo', ['rm', '-rf', this.runDir]); + await Exec.exec('sudo', ['rm', '-rf', this.runDir], { + ignoreReturnCode: true, + failOnStdErr: false + }); }); } diff --git a/src/util.ts b/src/util.ts index 84373b36..faeed7e0 100644 --- a/src/util.ts +++ b/src/util.ts @@ -133,4 +133,8 @@ export class Util { } return str.substring(0, index); } + + public static sleep(seconds: number) { + return new Promise(resolve => setTimeout(resolve, seconds * 1000)); + } }