Merge pull request #154 from crazy-max/docker-install-stop

docker(install): stop docker daemon gracefully on linux
This commit is contained in:
CrazyMax 2023-08-26 12:20:53 +02:00 committed by GitHub
commit c674e727ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 2 deletions

View File

@ -72,6 +72,7 @@ mkdir -p "$RUNDIR"
echo "Starting dockerd" echo "Starting dockerd"
set -x set -x
exec dockerd \\ exec dockerd \\
--debug \\
--host="$DOCKER_HOST" \\ --host="$DOCKER_HOST" \\
--exec-root="$RUNDIR/execroot" \\ --exec-root="$RUNDIR/execroot" \\
--data-root="$RUNDIR/data" \\ --data-root="$RUNDIR/data" \\

View File

@ -311,13 +311,17 @@ export class Install {
core.info(fs.readFileSync(path.join(this.runDir, 'dockerd.log'), {encoding: 'utf8'})); core.info(fs.readFileSync(path.join(this.runDir, 'dockerd.log'), {encoding: 'utf8'}));
}); });
await core.group('Stopping Docker daemon', async () => { 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 core.group('Removing Docker context', async () => {
await Exec.exec('docker', ['context', 'rm', '-f', this.contextName]); await Exec.exec('docker', ['context', 'rm', '-f', this.contextName]);
}); });
await core.group(`Cleaning up runDir`, async () => { 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
});
}); });
} }

View File

@ -133,4 +133,8 @@ export class Util {
} }
return str.substring(0, index); return str.substring(0, index);
} }
public static sleep(seconds: number) {
return new Promise(resolve => setTimeout(resolve, seconds * 1000));
}
} }