Не удается найти двоичный файл при использовании ENTRYPOINT в Dockerfile

Я играю с докером и этим простым изображением

FROM golang:1.13.4-stretch

ENTRYPOINT ["/bin/bash"]

И когда я пытаюсь запустить docker build -t test . && docker run -it --rm test "go version", я получаю ошибку /bin/bash: go version: No such file or directory

Без строки ENTRYPOINT у меня нет проблем с ее запуском.

Кроме того, похоже, не имеет значения, какую оболочку я использую, пока есть линия, она всегда будет терпеть неудачу.

Может ли кто-нибудь просветить меня, он ведет себя так?

К вашему сведению: значение PATH внутри контейнера при использовании ENTRYPOINT не включает /usr/local/go/bin (где находится go exec)


person Ricardo    schedule 10.06.2020    source источник


Ответы (1)


Я считаю, что оболочка интерпретирует "go version" как команду для запуска вместо команды go с аргументом version. Попробуйте убрать кавычки.

person John Moon    schedule 10.06.2020
comment
Это решило мою проблему, спасибо, Джон. Мне нужно будет исследовать эффект использования кавычек и их неиспользования. - person Ricardo; 11.06.2020