docker历史上的(nop)是什么意思?
在列出docker history
时, #(nop)
前缀是什么意思?
$ docker history swarm IMAGE CREATED CREATED BY c54bba046158 9 days ago /bin/sh -c #(nop) CMD ["--help"]
NOP代表“无操作”。
Docker为每个图层运行一个shell。 除了RUN
命令外,Dockerfile中的所有docker命令(或图层)都显示在历史logging中为空或注释掉的shell命令。 #
符号表示注释的开始,之后的任何内容都将被/bin/sh
跳过。 同样,如果您在terminal中input:
user@machine $ echo hello world hello world user@machine $ #But none of these lines starting with # do anything user@machine $ #echo hello world
非RUN
命令不需要由shell解释,而是由docker在内部处理。
历史logging(包括非RUN
命令)可以由层caching使用,以便在之前运行相同命令的情况下跳过处理。