Py学习  »  docker

如何从Github构建战争并使用Docker部署到WildFly?有可能吗?

Kindergerm • 4 年前 • 311 次点击  

我正试图以此为基础建立战争并部署到JBoss中 https://github.com/tongueroo/demo-java

我的Docker文件

FROM jboss/wildfly
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin#70365 --silent
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0
CMD ["git clone https://github.com/tongueroo/demo-java"]
CMD ["cd docker-tomcat-java-example"]
CMD ["./gradlew build"]

但我不知道接下来该怎么办,你能帮我吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38548
 
311 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Schisme
Reply   •   1 楼
Schisme    4 年前

最简单的方法是在构建docker映像之前构建您的war,然后使用dockerfile中的copy操作符将war放到WildFly的部署文件夹中。像这样:

COPY /build/libs/foo.war /opt/jboss/wildfly/standalone/deployments/

这可能会更干净,并且可以很容易地使用CI实现。

如果您真的需要在Docker文件中执行这个操作(我认为您不需要),那么您应该在执行命令之前使用run命令,安装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文件来说,这个逻辑应该被移植到连续的整合素中,但是理论上它是可能的。