CMD oraz ENTRYPOINT to dwie opcje, gdzie możliwe jest wprowadzenie komendy uruchamianej przy podnoszeniu kontenera (docker run). Przykładowo:
FROM maven
CMD ["mvn", "clean"]
zrobi to samo co:
FROM maven
ENTRYPOINT ["mvn", "clean"]
przy uruchomieniu w następujący sposób:
docker build . -t my_maven
docker run my_maven
Ale jeśli chcemy skorzystać z możliwości wpisania dodatkowych komend z poziomu polecenia run, to:
CMD jest nadpisywany
Posiadając obraz z użytą opcją CMD i uruchamiając kontener w następujący sposób:
docker run my_maven install
uruchomimy komendę:
install
z poziomu kontenera. A to racji tego, że CMD jest nadpisywany. Czyli, żeby uzyskać komendę mvn clean install należy wprowadzić:
docker run my_maven mvn clean install
ENTRYPOINT stanowi punkty wyjściowy dla
Posiadając obraz używający ENTRYPOINT i używając polecenia:
docker run my_maven install
faktycznie uruchomimy:
mvn clean install
ENTRYPOINT nie jest nadpisywany. Dodatkowe komendy są doklejane.