28 lines
658 B
JavaScript
28 lines
658 B
JavaScript
// imageService.js
|
|
|
|
const docker = require('./dockerClient');
|
|
const chalk = require('chalk').default;
|
|
|
|
async function listImages() {
|
|
return docker.listImages();
|
|
}
|
|
|
|
async function pullImage(image) {
|
|
const stream = await docker.pull(image);
|
|
return new Promise((resolve, reject) => {
|
|
docker.modem.followProgress(stream, (err, result) => {
|
|
if (err) {
|
|
console.error(chalk.red('Error pulling image:'), chalk.cyan(image), err.message);
|
|
return reject(err);
|
|
}
|
|
console.log(chalk.green('Image pulled successfully:'), chalk.cyan(image));
|
|
resolve(result);
|
|
});
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
listImages,
|
|
pullImage
|
|
};
|