RSS Git Download  Clone
Raw Blame History
const { program } = require('commander');
const utils = require('corifeus-utils');

program
    .command('docker <command>')
    .description(`Commands:
    free: deletes no-name images and dead containers
    clean: delete images the have exited
    clear: delete delete all images
`)
    .action(async function (command, options) {
        switch (command) {
            case 'free':
                console.log('deletes no-name images and dead containers')
                await utils.childProcess.exec(`docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi || true
docker ps --filter status=dead --filter status=exited -aq | xargs docker rm -v || true`, true)

            case 'clean':
                console.log('delete images the have exited')
                await utils.childProcess.exec(`docker rm $(docker ps -q -f status=exited)
docker rmi $(docker images -q -f dangling=true) || true`, true)
                break;

            case 'clear':
                console.log('delete all images')
                await utils.childProcess.exec(`docker rm $(docker ps -a -q)
docker rmi $(docker images -q)|| true`, true)
                break;

            default:
                commander.outputHelp();

                console.error(`Unknown command: ${command}`)
                process.exit(1)
                break;
        }

    })
;