2016-04-29 27 views
0

,同时了解泊坞窗,以及如何创建一个最小的形象,我遇到了这个命令: -'tar cv --files-from/dev/null |码头导入 - 从头开始​​“的工作?

tar cv --files-from /dev/null | docker import - scratch 

这将创建一个最小的码头工人的形象。

我无法理解当我们做tar cv --files-from /dev/null时会发生什么。如果我在终端上运行这个命令,我就没有输出。

如果我单独运行docker import - scratch,它会永远挂在那里。

那么这两个命令的组合如何工作?我仍然感到困惑,以及这是如何工作,并试图找出实际工作,任何帮助/指导,这将非常感激。

回答

2

运行tar cv --files-from /dev/null实际上是产生输出;你只是看不到它。试试这个:

tar cv --files-from /dev/null | od -a 

tar命令生成一个空的tar归档文件。

docker import - scratch命令从stdin导入tar归档并将其命名为scratch。从手册页:

泊坞窗导入 - 创建一个空的文件系统映像,并导入压缩包的 内容(的.tar,.tar.gz以及.tgz的,.bzip,.tar.xz,.txz ) ,然后可选择标记它。

既然你喂它一个空的存档,你会得到一个空的Docker镜像。