У меня есть следующее ENTRYPOINT в моем Dockerfile:
ENTRYPOINT["/setup.sh"]
Мне нужно запустить контейнер без запуска setup.sh и запустить install.sh.
Как это сделать?
Если вы измените ENTRYPOINT на CMD, вы можете очень легко docker run your-image /app/another_command --with-options без специального синтаксиса Docker. Сценарий установки, который вы также можете захотеть RUN в Dockerfile, а не во время запуска контейнера.
Переименуйте вопрос: как переопределить точку входа в dockerfile изображения?


Просто измените точку входа в докер при выполнении запуска докера:
docker run -d --rm --entrypoint WHATEVER_COMMAND_YOU_WANT image_name
Он заменит точку входа вашего файла dockerfile.
Однако это решило мою проблему. Но если Docekerfile имеет более одного ENTRYPOINT, а пользователь хочет удалить только один ENTRYPOINT, как пользователь может это сделать? например entpoint1 entpoint2 и entpoint3. И пользователь хочет запустить entpint1 и entpoint2 и отказаться от entpoint3.
Точка входа уникальна, в одном dockerfile не может быть 2 точек входа, иначе одна перекроет другую. Но это может быть точка входа И CMD (stackoverflow.com/questions/21553353/…)
docs.docker.com).