构建docker映像而不生成中间“无”映像

时间:2018-07-23 15:51:48

标签: docker dockerfile

我不希望在运行none时看到列出的许多docker images -a图像,即使清理了所有悬空的图像也是如此。

因此,我想知道如何构建由多层构成的docker映像,但又不为每一层创建中间映像。

例如,我提取了一个图像elixir:1.6.6,该图像有几层但没有中间图像。

$ docker history elixir:1.6.6
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
6df952b1c358        5 days ago          /bin/sh -c #(nop)  CMD ["iex"]                  0B
<missing>           5 days ago          /bin/sh -c set -xe  && ELIXIR_DOWNLOAD_URL="…   13.2MB
<missing>           5 days ago          /bin/sh -c #(nop)  ENV ELIXIR_VERSION=v1.6.6…   0B
<missing>           6 days ago          /bin/sh -c set -xe  && REBAR3_DOWNLOAD_URL="…   3.49MB
<missing>           6 days ago          /bin/sh -c #(nop)  ENV REBAR3_VERSION=3.6.1     0B
<missing>           6 days ago          /bin/sh -c set -xe  && REBAR_DOWNLOAD_URL="h…   209kB
<missing>           6 days ago          /bin/sh -c #(nop)  ENV REBAR_VERSION=2.6.4      0B
<missing>           6 days ago          /bin/sh -c #(nop)  CMD ["erl"]                  0B
<missing>           6 days ago          /bin/sh -c set -xe  && OTP_DOWNLOAD_URL="htt…   237MB
<missing>           6 days ago          /bin/sh -c #(nop)  ENV OTP_VERSION=20.3.8.2     0B
<missing>           6 days ago          /bin/sh -c set -ex;  apt-get update;  apt-ge…   556MB
<missing>           6 days ago          /bin/sh -c apt-get update && apt-get install…   142MB
<missing>           6 days ago          /bin/sh -c set -ex;  if ! command -v gpg > /…   7.8MB
<missing>           6 days ago          /bin/sh -c apt-get update && apt-get install…   23.2MB
<missing>           6 days ago          /bin/sh -c #(nop)  CMD ["bash"]                 0B
<missing>           6 days ago          /bin/sh -c #(nop) ADD file:370028dca6e8ca9ed…   101MB

如何构建图像,使其历史像elixir:1.6.6示例一样?

谢谢

1 个答案:

答案 0 :(得分:0)

不是,docker builddocker images -a就是这种互动方式。

除非您真的很感兴趣,否则建议不要运行docker images -a。诸如docker rmi之类的常规维护命令将删除所有未使用的中间层,并且您需要所有基本层来运行顶级映像。该命令并没有真正告诉您日常使用Docker的实际需要。