在Docker历史中,| 1意味着什么?

鉴于这个Dockerfile

 FROM debian:8.3 ARG TEST=123 RUN echo $TEST 

|1在Docker历史logging中代表什么?

 $ docker history 2feee0d8320f IMAGE CREATED CREATED BY SIZE COMMENT 2feee0d8320f About a minute ago |1 TEST=123 /bin/sh -c echo $TEST 0 B ac4872d0de0b About a minute ago /bin/sh -c #(nop) ARG TEST=123 0 B f50f9524513f 9 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B <missing> 9 months ago /bin/sh -c #(nop) ADD file:b5391cb13172fb513d 125.1 MB 

如这个问题所示,这表示一个build-arg (即构build映像所使用的参数的数量)

一个很好的例子是用于拉取中间文件的http_proxy或源代码版本。
ARG指令允许Dockerfile作者定义用户可以在构build时使用--build-arg标志设置的值:

 $ docker build --build-arg HTTP_PROXY=http://10.20.30.2:1234 . 

该标志允许您在Dockerfile的RUN指令中传递像常规环境variables一样访问的构build时variables。


下面是一个通过1.10+构build参数的例子:

 [ "|4 a=1 b=2 c=3 d=4 /bin/sh -c echo $a $b $c $d" ]