Самый простой способ - создать войну до создания образов докера, а затем использовать оператор COPY из Dockerfile, чтобы поместить войну в папку развертывания вашей дикой бабочки.Примерно так:
COPY /build/libs/foo.war /opt/jboss/wildfly/standalone/deployments/
Вероятно, это было бы намного чище, и этого легко достичь с помощью CI.
Если вам действительно нужно сделать это в своемDocker file (а я думаю, что нет), вы должны использовать команду RUN перед CMD, установить git и gradle, затем клонировать и собрать.Нечто подобное ...
FROM jboss/wildfly
// RUN Install git here
// RUN Install gradle here
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin#70365 --silent
RUN git clone https://github.com/tongueroo/demo-java
RUN cd docker-tomcat-java-example
RUN ./gradlew build
// Copy the generated war file to the deployment file of your wildfly.
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0
Опять же, это слишком много для меня для файла Docker, и эту логику следует перенести на непрерывное интегрирование, но это должно быть возможно в теории