myt/docker-run.js

31 lines
733 B
JavaScript
Raw Normal View History

2020-11-14 01:38:56 +00:00
#!/bin/node
const execFileSync = require('child_process').execFileSync;
const spawn = require('child_process').spawn;
2020-11-15 18:24:25 +00:00
module.exports = function(command, workdir, ...args) {
2020-11-14 01:38:56 +00:00
const buildArgs = [
'build',
2020-11-14 14:53:13 +00:00
'-t', 'myvc/client',
2020-11-14 01:38:56 +00:00
'-f', `${__dirname}/Dockerfile.client`,
`${__dirname}/`
];
execFileSync('docker', buildArgs);
2020-11-15 18:24:25 +00:00
let runArgs = [
2020-11-14 01:38:56 +00:00
'run',
2020-11-15 18:24:25 +00:00
'-v', `${workdir}:/workdir`,
2020-11-14 14:53:13 +00:00
'myvc/client',
2020-11-14 01:38:56 +00:00
command
];
2020-11-15 18:24:25 +00:00
runArgs = runArgs.concat(args);
2020-11-14 01:38:56 +00:00
2020-11-15 18:24:25 +00:00
const child = spawn('docker', runArgs, {
2020-11-14 01:38:56 +00:00
stdio: [
process.stdin,
process.stdout,
process.stderr
]
});
child.on('exit', code => process.exit(code));
};