Условно выставить порт в Dockerfile - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь открыть порт отладки в Dockerfile на основе аргумента сборки (DEBUG_ENABLED). Этот образ в конце попадает в модуль k8s в кластере с несколькими модулями, запущенными для различных приложений. Я пытаюсь EXPOSE порты во всех изображениях на основе build-arg.

Вот мой Dockerfile:

ARG DEBUG_ENABLED=true
:
:
EXPOSE 8080
RUN if [ "$DEBUG_ENABLED" = "true" ] ; \
      then EXPOSE 8000 ; \
    else echo "debug is set to false"; \
    fi 
ENTRYPOINT ["catalina.sh", "run"]

Я знаю, что оператор "EXPOSE" не будет работать в RUN if... конструкт. Но есть ли способ достичь того, что я пытаюсь сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...