https://docs.docker.com/engine/reference/builder/#...
An ENTRYPOINT allows you to configure a container that will run as an executable.
ENTRYPOINT позволяет настраивать контейнер как исполняемый
The main purpose of a CMD is to provide defaults for an executing container. These defaults can include an executable, or they can omit the executable, in which case you must specify an ENTRYPOINT instruction as well.
Главная цель CMD - предоставить значения по умолчанию для исполняемого контейнера. Может включать или не включать исполняемый файл.
В идеале отдельно указывать исполяемый бинарник в ENTRYPOINT и отдельно команды к нему в CMD.
ENTRYPOINT ["/bin/project"]
CMD ["--help"]