Запуск Docker: неверный ссылочный формат

Я получаю эту ошибку:

docker: invalid reference format.
See 'docker run --help'.

У меня есть это:

docker run --rm   \
    "$ecr_endpoint/notifier-cli:latest"                \
    --build-exit-code "$exit_code"                     \
    --event 'build-end'

статус выхода команды запуска докера — 125, если это помогает. Я понятия не имею, что здесь происходит... идентичная команда работает нормально ранее в сценарии.

Dockerfile выглядит так:

FROM node:12

USER root

WORKDIR /app

COPY . .

ENTRYPOINT ["node", "main.js"]

CMD []

person Community    schedule 19.05.2019    source источник
comment
Может быть проще показать эту команду без переменных, но вместо этого с некоторым фиктивным содержимым, которое также выдает ту же ошибку.   -  person tadman    schedule 19.05.2019
comment
да, позвольте мне посмотреть, получу ли я ту же ошибку без env vars   -  person    schedule 19.05.2019
comment
да, та же ошибка, даже без env vars, обновленный OP   -  person    schedule 19.05.2019
comment
этот вопрос кажется связанной проблемой? Кажется, это проблема с любой интерполяцией переменных, даже $ecr_..   -  person tadman    schedule 19.05.2019
comment
Я думаю, что ecr_endpoint не определен, лол, в этом проблема, действительно дерьмовое сообщение об ошибке docker cli, хотя, tbh. feck это сообщение об ошибке, лол.   -  person    schedule 19.05.2019
comment
Осторожнее с формулировками здесь.   -  person tadman    schedule 19.05.2019
comment
Вы знаете, кому следует быть осторожным, так это людям, выдающим дрянные сообщения об ошибках :) Не вам, а людям из Docker, очевидно.   -  person    schedule 19.05.2019
comment
Это с открытым исходным кодом, поэтому, если это действительно обожжет ваши штаны, вы всегда можете исправить это и открыть запрос на включение.   -  person tadman    schedule 19.05.2019
comment
Да, я скоро докер/моби эту штуку подниму   -  person    schedule 19.05.2019
comment
Возможные дубликаты: stackoverflow.com/a/51498679/596285 stackoverflow.com/a/51208726/596285 вместе с другими. Вы искали свое сообщение об ошибке перед публикацией? Изменение сообщения вверх по течению потребует изменения всех этих вопросов.   -  person BMitch    schedule 19.05.2019


Ответы (1)


Проблема заключалась в том, что переменная $ecr_endpoint не была определена. Мне потребовалось еще 15 минут, чтобы понять... ужасное сообщение об ошибке, надеюсь, его можно улучшить.

До:

ecr_endpoint='' # empty

docker run --rm   \
    "$ecr_endpoint/notifier-cli:latest"                \
    --build-exit-code "$exit_code"                     \
    --event 'build-end'

получаю ошибку :(

Но теперь мы определяем это:

ecr_endpoint='913xxxxx371.dkr.ecr.us-west-2.amazonaws.com' 

и это работает

person Community    schedule 19.05.2019