@Override
    public synchronized void performCleanup() {
        super.performCleanup();
        synchronized (DEATH_NOTE) {
            DEATH_NOTE.forEach(filters -> prune(PruneType.CONTAINERS, filters));
            DEATH_NOTE.forEach(filters -> prune(PruneType.NETWORKS, filters));
            DEATH_NOTE.forEach(filters -> prune(PruneType.VOLUMES, filters));
            DEATH_NOTE.forEach(filters -> prune(PruneType.IMAGES, filters));
        }
    }
A {@link ResourceReaper} implementation that uses {@link Runtime#addShutdownHook(Thread)}
to cleanup containers.
core/src/main/java/org/testcontainers/utility/JVMHookResourceReaper.java