怎么'tar cv --files-from / dev / null | docker import - scratch'work?

时间:2016-04-29 04:19:45

标签: linux docker tar docker-registry docker-image

在了解docker以及如何创建最小图像的同时,我遇到了这个命令: -

Third Party

这会创建一个最小的泊坞窗图像。

我无法理解当tar cv --files-from /dev/null | docker import - scratch 时会发生什么。如果我在终端上运行此命令,则无法输出。

如果我单独运行tar cv --files-from /dev/null,它就会永远挂在那里。

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

1 个答案:

答案 0 :(得分:2)

正在运行tar cv --files-from /dev/null正在生成输出;你无法看到它。试试这个:

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

tar命令生成一个空的tar档案。

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

  

docker-import - 创建一个空的文件系统映像并导入   tarball的内容(.tar,.tar.gz,.tgz,.bzip,.tar.xz,.txz)   进入它,然后选择标记它。

由于您正在为它提供一个空档案,因此您将获得一个空的Docker镜像。