区别如下:
- 如果容器中配置了command,那么就使用容器中的command,参数args如果配置了则使用,如果没有配置,就不带参数执行command
- 如果容器中没有配置command,只是配置了args:使用Dockerfile中提供的命令,参数使用容器中配置的args
- 如果容器中command,args都没有配置:使用Dockerfile中的默认配置
总体来可以这样来记:以容器配置优先,Dockerfile配置补充。果只有command,则执行无参数命令。
关于entrypoint 和 cmd的配置与区别参考:Docker学习之Dockerfile:CMD与ENTRYPOINT