CMD的三种格式:
- CMD [“executable”,”param1”,”param2”] (exec form, 首选格式)
- CMD [“param1”,”param2”] (作为ENTRYPOINT的默认参数)
- CMD command param1 param2 (shell form)
注意事项:
- 上面的exec form是会被解析成一个JSON Array的,这意味着你必须使用双引号,而不是单引号。
- exec form是不会调用命令行解释器的(command shell)。
比如CMD [ “echo”, “ HOME做变量替换的。如果要是用到shell的话,应该这样:CMD [ “sh”, “-c”, “echo $HOME” ] - 一个Dockfile中应该只有一个CMD,如果有多个,只会执行最后一个
格式使用的例子:
CMD [“sh”,”run.sh”]
或者
CMD sh run.sh