nodejs模块,可以帮助你在nodejs环境跟容器应用比如 docker,podman,lima 等容器应用交互。
const c = require('container-helper.js')
const docker =c.getVm('docker')
// docker images
docker.showImages().then(images=>console.log(images))
const c = require('container-helper.js')
const podman =c.getVm('podman')
// docker images
podman.showImages().then(images=>console.log(images))
以docker为例,内置的函数方法
- docker.startVm()
- docker.showImages();
- docker.buildImage
其中 dockerFilePath 表示的是dockerFile文件存在的路径。
docker.buildImage
会在 dockerFilePath 对应的目录下开始构建镜像
// docker build -t mysql:latest .
docker.buildImage({
imageName: "mysql",
dockerFilePath: path.join(__dirname, "../images/mysql"),
version: 'latest'
});
- docker.runImage({});
// docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456789 --name test-mysql
await docker.runImage({
p:[3307,3306],
name: 'test-mysql',
e: {
"MYSQL_ROOT_PASSWORD":"123456789"
}
})
- docker.removeImage(NAME);
- docker.removeContainer(NAME)
- docker.runCommand(command) 比如命令行:
docker build -t mysql:latest .
则通过docker容器去跑对应的命令
docker.runCommand("build -t mysql:latest .")