CMD and ENTRYPOINT are two commands in Dockerfiles that look identical to me. But I assume there is a (minor?) difference between them; otherwise, having two instructions for the same thing would be redundant.
The CMD documentation
The main purpose of a CMD is to provide defaults for an executing container.
The ENTRYPOINT documentation
An ENTRYPOINT helps you to configure a container that you can run as an executable.
So, what's the difference between the two then?