Я подозреваю, что есть 1-2 проблемы:
ENTRYPOINT
и CMD
не наследуются от FROM
образа
- Возможно, вы используете форму exec
ENTRYPOINT
| CMD
Существует 2 формы ENTRYPOINT
и CMD
, формы shell и exec. Форма exec «не вызывает командную оболочку», поэтому вы не получите обработку переменных среды:
https://docs.docker.com/engine/reference/builder/#cmd
Вот пример, который показывает ENV
значения, проходящие через FROM
'd изображений:
echo '
FROM bash
ENV DOG=Freddie
ENTRYPOINT echo "dog=${DOG}"
' | docker build --tag=1st --file=- .
echo '
FROM 1st
ENV CAT=Emmett
ENTRYPOINT echo "dog=${DOG}" "cat=${CAT}"
' | docker build --tag=2nd --file=- .
docker run 1st
docker run 2nd
Результаты:
dog=Freddie
dog=Freddie cat=Emmett
NB ${DOG}
(и его значение) наследуется от 1st