ENTRYPOINT and CMD confusion in a nutshell exec form (json form) and shell form in brief exec: [run.sh] => run.sh (command must be in $path ) shell: run.sh => /bin/sh -c run.sh ENTRYPOINT exec form [run.sh] execute whatever written, subsequent keywords become params to this executable => run.sh ENTRYPOINT shell from run.sh execute the script with prefixing with /bin/sh -c. so it becomes => /bin/sh -c run.sh CMD if there is an ENTRYPOINT defined then this CMD become parameter only. unless ENTRYPOINT defined as shell from which makes CMD ignored. no ENTRYPOINT + CMD [run.sh hello] => /bin/sh -c run.sh hello ENTRYPOINT shell form run.sh hello + CMD exec/shell from => /run.sh (be careful the this command is in the path location ) (notice that CMD is ignoed in this case) ENTRYPOINT exec form [run.sh, hello] + CMD exec form [run.sh ,hello2] => run.sh hello run.sh hello2 (notice that second run.sh is a param only) ENTRYPOIN...
This journey is all about
* Edge stack like Scala,Spark,Kafka etc
* Cloud(Kubernetes,Docker,CloudFoundry etc)
* Historically it was about mainly on JEE, SOA, BPEL/BPM but now mainly on Microservices