Я прочитал, что переменные среды, определенные в Dockerfile, не могут быть расширены в exe c форму из ENTRYPOINT
, поскольку обычная обработка оболочки не выполняется. Однако при ссылке на переменную среды в моей java
команде ENTRYPOINT
аргументы командной строки успешно раскрываются, а параметры - нет.
Пример файла Docker:
FROM centos7-w-jdk8u212:latest
ARG JAR_FILE
ENV PORT 9090
ENV PROF dev
ENV JAVA_OPT -Xmx256m
ADD target/${JAR_FILE} boot.jar
ENTRYPOINT ["usr/bin/java", "-jar", "boot.jar", "--server.port=${PORT}", "--spring.profiles.active=${PROF}"]
При запуске контейнера переменные PORT
и PROF
успешно раскрываются и используются приложением. Как это возможно? Спасибо.