Команды запускаются один раз, когда изображение строится.CMD будет выполняться каждый раз при запуске контейнера.
Использование CMD приведет к компиляции кода при каждом запуске контейнера.Ваш образ намеревается запустить приложение или просто создать приложение, а затем переместить его в другое место?В первом случае вы определенно захотите использовать RUN для компиляции при построении изображения.
Увеличение размера изображения больше не является проблемой, поскольку введение многоступенчатых сборок , каквы можете скомпилировать ваше приложение в одном образе, а затем только перенести полученный исполняемый файл в окончательный образ.
Нет смысла компилировать во фразе CMD, если у вас нет особых причин для этого.