如何重现在 docker 中心图像层中看到的 docker 命令?

How can I reproduce docker commands seen in docker hub image layers?

我想知道如何重现 this docker 图像中看到的 docker 命令。该图像复制了某些版本的 clang 和 gcc,这是我希望在我自己的 docker 文件中做的事情。我不能使用链接的 docker 图片,因为它包含许多对我想做的工作来说不必要的命令。

第一个命令是
ADD file:2cddee716e84c40540a69c48051bd2dcf6cd3bd02a3e399334e97f20a77126ff in /

往下还有很多类似的COPY命令。我希望在我自己的 docker 文件中重现以下命令:
COPY dir:49371ba683da700cabfad7284da39bd2144aa0c46086c3015a74737d7be6b51e in /compilers/clang/3.4.2

该命令将 clang-3.4.2 复制到给定的文件夹中。我不确定如何做同样的事情,甚至不确定哈希值 is/means.

我尝试查找,但找不到用于创建映像的 Dockerfile。不过还有另一种方法。

这是一张很大的图片,我的互联网连接很糟糕,所以我自己还没有测试过,但是你可以做的一件事是将你需要的东西从图片复制到你的新图片中拥有这样的自己

FROM cnsun/perses:perses_part_54_name_clang_trunk AS original
FROM ubuntu:latest
COPY --from=original /compilers/clang/3.4.2 /compilers/clang/3.4.2

您也可以将图像中的文件复制到您的计算机中。然后你可以从那里复制它们到新图像而不引用 cnsun 图像:

docker run --rm -v $(pwd):/dest --entrypoint /bin/bash cnsun/perses:perses_part_54_name_clang_trunk -c "cp -r /compilers/clang/3.4.2 /dest"

这会将 /compilers/clang/3.4.2 目录复制到主机上的当前目录中。如果您的主机是 Windows,请将 $(pwd) 替换为 %cd%