Это вариант, который я бы не стал использовать как build-arg. По моему общему опыту, если у вас есть среда, которая генерирует несколько двоичных файлов или команд, то большая часть изображения (как по размеру изображения, так и по сложности Dockerfile) - это код, который используется всеми командами, поэтому создайте отдельное изображение каждая команда может быть излишней.
Вы можете указать альтернативную команду для запуска как часть команды docker run
после имени изображения или в строке command:
в файле docker-compose.yml
. Затем вы можете скопировать все в изображение, указав некоторую команду по умолчанию
FROM ubuntu:18.04
...
WORKDIR /app # try to avoid dropping things in /
ENV PATH /app:$PATH
COPY . .
CMD mainserver
Теперь, если вы просто docker run the_image
, она будет работать mainserver
, но вместо этого вы можете
docker run ... the_image rtspappserver
выполните альтернативную команду.