Я хотел бы иметь возможность «сбросить» ENTRYPOINT в командной строке при создании контейнера.
Используя этот Dockerfile и entrypoint.sh в качестве примера:
Докерфайл:
FROM alpine
ADD entrypoint.sh /entrypoint.sh
RUN chmod 755 /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD echo foobar
входная точка:
#!/bin/sh
echo "I am an entrypoint"
exec "$@"
Если бы я хотел сбросить точку входа, я бы хотел запустить это: docker run --entrypoint='' --rm -it image echo foo
Я ожидаю, что это приведет к следующему результату:
но вместо этого он делает следующее:
I am an entrypoint
foo
Предоставление какого-либо способа для docker run
или docker create
заставить ENTRYPOINT быть нулевым без необходимости создания другого изображения было бы здорово.
Попробуй это
docker run --entrypoint=/bin/echo --rm image foo
Я знаю, что этот и другие обходные пути существуют, но это не значит, что
этот вопрос не может или не должен решаться.
13 июня 2016 г., 17:11, «Шицзян Вэй» [email protected] написал:
Попробуй это
docker run --entrypoint=/bin/echo --rm image foo—
Вы получаете это, потому что вы создали тему.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/docker/docker/issues/23498#issuecomment-225735177 ,
или заглушить тему
https://github.com/notifications/unsubscribe/AACRnuHYnJydqWbZbVezdavvgV-VZHXkks5qLeOIgaJpZM4I0tri
.
@programmerq Я создал запрос на включение # 23718, чтобы решить эту проблему. Если передается --entrypoint=
(с пустой строкой ""
), то docker run
или docker create
отменяет установку точки входа и использует поведение по умолчанию.
Пожалуйста, дайте мне знать, если есть какие-либо проблемы.
Самый полезный комментарий
@programmerq Я создал запрос на включение # 23718, чтобы решить эту проблему. Если передается
--entrypoint=
(с пустой строкой""
), тоdocker run
илиdocker create
отменяет установку точки входа и использует поведение по умолчанию.Пожалуйста, дайте мне знать, если есть какие-либо проблемы.