1. 在Dockerfile中,有些指令(如RUN,ENTRYPOINT和CMD指令)的定义,可以采用Shell格式,也可以采用JSON格式。
1) 采用Shell格式定义,示例如下:
CMD top -b
上述CMD指令,在采用默认SHELL的情况下,实际执行“ /bin/sh -c top -b”。
2) 采用JSON格式定义,示例如下:
CMD ["top", "-b"]
上述CMD指令,不受默认SHELL的影响,实际执行“ top -b”。
2. Dockerfile中的SHELL指令
Dockerfile中的SHELL指令用以设置Shell风格下使用的Shell的特性,覆盖默认特性。Shell风格的改变将会影响到所有使用该风格定义的Dockerfile指令,主要是RUN,ENTRYPOINT和CMD。用法如下:
SHELL ["executable", "parameters"]
在Linux系统的镜像中,默认SHELL指令如下:
</