从特定目录中的文件创buildtar文件
我需要使用nodejs来创build一个不包含在父目录中的tar
文件。
例如,这里是文件系统:
/tmp/mydir /tmp/mydir/Dockerfile /tmp/mydir/anotherfile
我想要做的是相当于这个:
cd /tmp/mydir tar -cvf archive.tar *
所以,当我提取archive.tar
, Dockerfile
将最终在我执行命令的同一个目录中。
我已经尝试tar.gz
和其他一些,但所有的例子是压缩整个目录,而不仅仅是文件。
我正在这样做,所以我可以利用Docker REST API发送构build。
构造函数的第二个参数作为属性传递给tar模块。
var TarGz = require('tar.gz'); var compressor = new TarGz({}, {fromBase: true});
这将使用创build没有顶级目录的存档。
编辑:这是在node-tar.gz
未logging,但拉请求已经合并: https : //github.com/alanhoff/node-tar.gz#tar-选项
tar -C /tmp/mydir -cvf archive.tar .
应该这样做。
使用tar.gz模块。 这是一个示例代码
var targz = require('tar.gz'); var compress = new targz().compress('/path/to/compress', '/path/to/store.tar.gz', function(err){ if(err) console.log(err); console.log('The compression has ended!'); });
有关更多选项,请访问文档页面 。