Избегайте переопределения образа базового докера ENTRYPOINT - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть базовый образ докера, указывающий на daggerok/jboss-eap-7.1:7.1.0-alpine, и он выполняет ENTRYPOINT, который я не хочу переопределять.Но мне также нужно выполнить другую команду после того, как базовый образ выполнит их, поэтому мой Dockerfile выглядит следующим образом:

FROM daggerok/jboss-eap-7.1:7.1.0-alpine

#SOME CODE HERE

ENTRYPOINT ["mybash.sh"]

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

Какие-нибудь советы, чтобы решить это?

1 Ответ

0 голосов
/ 10 декабря 2018

Есть несколько проблем для достижения того, что вы хотите:

  • Вы не можете найти ENTRYPOINT базового образа во время выполнения в .sh-скрипте, поэтому вы не можете выполнить его безявно скопировав его в ваш mybash.sh
  • ENTRYPOINT базового образа, который вы упомянули, это /bin/bash ${JBOSS_HOME}/bin/standalone.sh, который запускает основной процесс с идентификатором 1 вашего докер-контейнера.Вы не должны изменять это и начинать это в фоновом режиме, например.Читайте дальше здесь .

Я бы посоветовал переписать mybash.sh: сначала выполните все, что вы хотите, перед запуском jboss.Затем завершите ваш скрипт последней строкой, начинающейся с jboss: exec "/bin/bash ${JBOSS_HOME}/bin/standalone.sh" (адаптировано с здесь )

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