skyflow-cli
Version:
Environment manager for your projects.
36 lines (31 loc) • 984 B
JavaScript
const {resolve} = require("path");
/**
* Remove one or more docker compose containers.
*
* @class DownCommand
* @module Command
* @author Skyflow
* @command down
* @see https://docs.docker.com/compose/reference/down
* @examples
* skyflow down
* @related up stop
* @since 1.0.0
*/
module.exports = class DownCommand {
constructor(container) {
const {Shell, Request, Output, config} = container;
let stringOpt = Request.getStringOptions();
let dockerComposeFile = resolve(config.value.docker.directory, 'docker-compose.yml');
let projectName = config.value.docker['project_name'];
if (!Request.hasOption('remove-orphans')) {
stringOpt += ' --remove-orphans';
}
try {
Shell.exec('docker-compose -p ' + projectName + ' -f ' + dockerComposeFile + ' down ' + stringOpt);
} catch (e) {
Output.skyflowError(e.message);
process.exit(1);
}
}
};