From 774bf8cfccb1fd6b444e02b71614eebf595401cf Mon Sep 17 00:00:00 2001 From: richard Date: Thu, 30 Nov 2017 23:02:22 +0800 Subject: [PATCH] Initial commit --- .gitignore | 2 + README.md | 2 + apptest/nb-configuration.xml | 19 + apptest/pom.xml | 76 ++++ apptest/src/main/webapp/WEB-INF/web.xml | 12 + apptest/src/main/webapp/index.jsp | 23 ++ wild-docker-files/Dockerfile | 17 + wild-docker-files/apptest.war | Bin 0 -> 3013 bytes wild-docker-files/build.sh | 1 + wild-docker-files/env.list | 10 + wild-docker-files/network-create.sh | 6 + wild-docker-files/remove.sh | 4 + wild-docker-files/run.sh | 5 + wild-docker-files/standalone-ha-1.xml | 468 ++++++++++++++++++++++++ wild-docker-files/standalone-ha-2.xml | 468 ++++++++++++++++++++++++ wild-docker-files/standalone-ha-3.xml | 468 ++++++++++++++++++++++++ 16 files changed, 1581 insertions(+) create mode 100755 .gitignore create mode 100755 README.md create mode 100755 apptest/nb-configuration.xml create mode 100755 apptest/pom.xml create mode 100755 apptest/src/main/webapp/WEB-INF/web.xml create mode 100755 apptest/src/main/webapp/index.jsp create mode 100755 wild-docker-files/Dockerfile create mode 100755 wild-docker-files/apptest.war create mode 100755 wild-docker-files/build.sh create mode 100755 wild-docker-files/env.list create mode 100755 wild-docker-files/network-create.sh create mode 100755 wild-docker-files/remove.sh create mode 100755 wild-docker-files/run.sh create mode 100755 wild-docker-files/standalone-ha-1.xml create mode 100755 wild-docker-files/standalone-ha-2.xml create mode 100755 wild-docker-files/standalone-ha-3.xml diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..89bcebf --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/apptest/target/ +.DS_Store diff --git a/README.md b/README.md new file mode 100755 index 0000000..6b398a3 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# wildfly-cluster-docker +Example on how to setup a Wildfly cluster using Docker diff --git a/apptest/nb-configuration.xml b/apptest/nb-configuration.xml new file mode 100755 index 0000000..7577ef7 --- /dev/null +++ b/apptest/nb-configuration.xml @@ -0,0 +1,19 @@ + + + + + + 1.7-web + WildFly + + diff --git a/apptest/pom.xml b/apptest/pom.xml new file mode 100755 index 0000000..e0220e9 --- /dev/null +++ b/apptest/pom.xml @@ -0,0 +1,76 @@ + + + 4.0.0 + + com.eldermoraes + apptest + 1.0 + war + + apptest + + + ${project.build.directory}/endorsed + UTF-8 + + + + + javax + javaee-web-api + 7.0 + provided + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + 1.8 + 1.8 + + ${endorsed.dir} + + + + + org.apache.maven.plugins + maven-war-plugin + 2.3 + + false + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.6 + + + validate + + copy + + + ${endorsed.dir} + true + + + javax + javaee-endorsed-api + 7.0 + jar + + + + + + + + + + diff --git a/apptest/src/main/webapp/WEB-INF/web.xml b/apptest/src/main/webapp/WEB-INF/web.xml new file mode 100755 index 0000000..c6cf467 --- /dev/null +++ b/apptest/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,12 @@ + + + + apptest + + index.jsp + + + diff --git a/apptest/src/main/webapp/index.jsp b/apptest/src/main/webapp/index.jsp new file mode 100755 index 0000000..9b21004 --- /dev/null +++ b/apptest/src/main/webapp/index.jsp @@ -0,0 +1,23 @@ +<%-- + Document : index + Created on : Jan 5, 2017, 10:48:32 PM + Author : eldermoraes +--%> + +<%@ page import="java.net.InetAddress"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> + + + + +Cluster Test + + +
+

The request is being answered by:

+

IP: <%=InetAddress.getLocalHost().getHostAddress()%>

+

HostName: <%=InetAddress.getLocalHost().getCanonicalHostName() %>

+

Session ID: <%=request.getSession().getId() %>

+
+ + diff --git a/wild-docker-files/Dockerfile b/wild-docker-files/Dockerfile new file mode 100755 index 0000000..4998f6a --- /dev/null +++ b/wild-docker-files/Dockerfile @@ -0,0 +1,17 @@ +FROM jboss/wildfly + +# Environment variable with default value +ARG APP_FILE=appfile.war + +RUN echo ${APP_FILE} + +# Add your application to the deployment folder +ADD ${APP_FILE} /opt/jboss/wildfly/standalone/deployments/${APP_FILE} + +# Add standalone-ha.xml - set your own network settings +ADD standalone-ha-1.xml /opt/jboss/wildfly/standalone/configuration/standalone-ha-1.xml +ADD standalone-ha-2.xml /opt/jboss/wildfly/standalone/configuration/standalone-ha-2.xml +ADD standalone-ha-3.xml /opt/jboss/wildfly/standalone/configuration/standalone-ha-3.xml + +# Add user for adminstration purpose +RUN /opt/jboss/wildfly/bin/add-user.sh admin admin123 --silent diff --git a/wild-docker-files/apptest.war b/wild-docker-files/apptest.war new file mode 100755 index 0000000000000000000000000000000000000000..f95f863d602fe399061d29b4c5c038e044974492 GIT binary patch literal 3013 zcmb7G2{=@H8z0Mz36mvVB~jVJU~DPb88U;BrCXLTmY9rX1`)Evhi9mJ#nin`nrsuw zlC7~-wqyo{d^cN6s_U~vQi{FuT*KDETFdd98Wgk_P{T*WbP|ETGk`~Gqnf?BgRM2v*+tXdddZ&2 zutRHTK7ye&)OwkH)lP^(-HGP}II6b`j@Gb%3QZLr$@xkBu3|Kug3=|TBCe?2lyV|E zIgtoUBuQsd44p!9+Jbg+zAJeSobh0LiEvAXe@TpR=V{34VsX4`!*SIoyDr1uh_YZX z(HMF(9mFw`*B2;YbF&_xDPXGjB$0sPn z&p%odM-0n4JQ6ZsCLZ7ErF}!Haqhs{I|tQl9= zm53wL;}-8Wd-ix znaTjqhORPaddb84&+Al?17+}nb$PEal6@rQ(8;~RDWwN+zP@igjnd7o!Rp@7$^G6V zI^A)o8>woBgnzj}=tsyh%wC&hxQW~G;o>s_F{*Z?eJy?Ct3ThU7`yJlKyB6DVP>;R z_^92}GH)Yea8q~1Phg_3Zrm{L)#Kk8S1@F=+YfS>jCx?8zN@?XRe?nIF;@Y_$M`uc5RbCCzasr!b?gC%2V@6p2Q6AeIE`KgAQxxUCLNR3B z8QQ)WekbnsJce_gprH6>B~*~c8S!ag&l`dL7u#@BPWfXsqw&G1=P{TzglI?Kl(P$6 zC1@J#8Wc4WL;+=tbBhn}B)^`UmcOL8Tkq-GTJ_bdqxQ`VO+^0AID3)20nw)I zZZjDD_}H;(l?LaOE}ms^XX1ES1`a7kdRwGHFFy5EC|=V)*w3GU4<-0)$UR=L z%HM;1!oni_i4p4-KtV$FN~rzm{I~A&gFwL|Adu!iCkX>A1NQjw5&X#!g!rdCFNxNc zPSkK!)#rouc9at;|pFt|;AUcL=75LKrGD^K@zBQ#5pRGoybR zQZwn~(L=t6-3OLK-v(Of z&~>rV{k7pyspGPQTHPk=(E1VY*y%87Qb+da)A2ZDTV@X(LC%0a>|V$XZ{4w7dnQ{3 zwr|dI)^0YHm?pAdRB%D{Q>$I)FP|3P6+7(6CI_>^GsyH0vIB<#_zJcEw8KG^6?0qL zF4e{L>>=?N=YV}J3A>i4*#QmkWLKezR!TyZpe@b4*s@=ip(n_oF3vg>LDUOC3Q3FQ z6mctfZPNa9dU3^>i;qR*2ziFv$p(!`9MpdwpNR;E*&4F5Bpd}3>=5MU~TTAez*e2srJD9e_cp}Sq zpOGeX>7{Z|f6oUqR{6`+bA^`41F|#0hWDCkG=jAg$2|2LUVZ4th^cyF*Breu>Uqg| zvCqz&ag+6gFyzk3!n3hG7d#p#jfY}2JnVW=DxK zFDqTkd}%vm&$aa?gh1{EVT2S;SgD&eTTK{I_AZ!~8k!)q)ZZh+R_eiCx_RRn?jfQr zn@lGsP0-W77eOotsAc)8Cw3pvw(+`FYO}k#No8-By zSlbWF`jCs)h855qC+-;Nu;wY9B~?20YW4D^J&{Iro_8w`o*ht!*BaWmb+=U_JzYee zKy7T^hu_vcaH28mep&r-Qk&LyUlQVecylC1PpLGG*d!j6BC$8d}N&z2? z`6%gDr9NqKGDN4QDWdX%>Mj(K@Mn_L*512-s5CVGnZS}eZ2Z_< z_PFs?*r?aQl7r$79~?9k^u6(egD*_l1vI7gVT5by_d6FCCJW3loR5C%V_Yz=pX>tv zRoE8m2yO^4r`&T4<^{70J{Ro83+65VKPF@E5|@nf_hj65z#;v9L*URBCQbfx(r@j7 o8@lgj7MJ^t5Krj-*L#k^Y;JCzIikT3HjM~yeFpki<(H%PU)kF(v;Y7A literal 0 HcmV?d00001 diff --git a/wild-docker-files/build.sh b/wild-docker-files/build.sh new file mode 100755 index 0000000..917213e --- /dev/null +++ b/wild-docker-files/build.sh @@ -0,0 +1 @@ +docker build -t wildfly-cluster --build-arg APP_FILE=apptest.war . diff --git a/wild-docker-files/env.list b/wild-docker-files/env.list new file mode 100755 index 0000000..690f28a --- /dev/null +++ b/wild-docker-files/env.list @@ -0,0 +1,10 @@ +# automatically created environment variables (docker links) +TOMCAT_1_PORT_8080_TCP_ADDR=wild1 +TOMCAT_2_PORT_8080_TCP_ADDR=wild2 +TOMCAT_3_PORT_8080_TCP_ADDR=wild3 + +# special environment variables +TOMCAT_PATH=/apptest +TOMCAT_REMOTE_PORT=8080 +TOMCAT_REMOTE_PATH=/apptest +TOMCAT_HOSTNAME=wild-balancer diff --git a/wild-docker-files/network-create.sh b/wild-docker-files/network-create.sh new file mode 100755 index 0000000..10e7d97 --- /dev/null +++ b/wild-docker-files/network-create.sh @@ -0,0 +1,6 @@ +docker network create \ + --driver=bridge \ + --subnet=172.28.0.0/16 \ + --ip-range=172.28.5.0/24 \ + --gateway=172.28.5.254 \ + wildnetwork diff --git a/wild-docker-files/remove.sh b/wild-docker-files/remove.sh new file mode 100755 index 0000000..ca1350d --- /dev/null +++ b/wild-docker-files/remove.sh @@ -0,0 +1,4 @@ +docker rm -f wild1 +docker rm -f wild2 +docker rm -f wild3 +docker rm -f wild-balancer diff --git a/wild-docker-files/run.sh b/wild-docker-files/run.sh new file mode 100755 index 0000000..d393634 --- /dev/null +++ b/wild-docker-files/run.sh @@ -0,0 +1,5 @@ +docker run -d --name wild1 -h wild1 -p 8080:8080 -p 9990:9990 --network=wildnetwork --ip 172.28.5.1 wildfly-cluster /opt/jboss/wildfly/bin/standalone.sh -c standalone-ha-1.xml -u 230.0.0.4 +docker run -d --name wild2 -h wild2 -p 8081:8080 -p 9991:9990 --network=wildnetwork --ip 172.28.5.2 wildfly-cluster /opt/jboss/wildfly/bin/standalone.sh -c standalone-ha-2.xml -u 230.0.0.4 +docker run -d --name wild3 -h wild3 -p 8082:8080 -p 9992:9990 --network=wildnetwork --ip 172.28.5.3 wildfly-cluster /opt/jboss/wildfly/bin/standalone.sh -c standalone-ha-3.xml -u 230.0.0.4 + +docker run -d --name wild-balancer -p 80:80 --link wild1:wild1 --link wild2:wild2 --link wild3:wild3 --env-file ./env.list --network=wildnetwork --ip 172.28.5.4 jasonwyatt/nginx-loadbalancer diff --git a/wild-docker-files/standalone-ha-1.xml b/wild-docker-files/standalone-ha-1.xml new file mode 100755 index 0000000..2416ad5 --- /dev/null +++ b/wild-docker-files/standalone-ha-1.xml @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE + h2 + + sa + sa + + + + + org.h2.jdbcx.JdbcDataSource + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${jboss.bind.address:127.0.0.1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wild-docker-files/standalone-ha-2.xml b/wild-docker-files/standalone-ha-2.xml new file mode 100755 index 0000000..8d73c9b --- /dev/null +++ b/wild-docker-files/standalone-ha-2.xml @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE + h2 + + sa + sa + + + + + org.h2.jdbcx.JdbcDataSource + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${jboss.bind.address:127.0.0.1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wild-docker-files/standalone-ha-3.xml b/wild-docker-files/standalone-ha-3.xml new file mode 100755 index 0000000..31be5d0 --- /dev/null +++ b/wild-docker-files/standalone-ha-3.xml @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE + h2 + + sa + sa + + + + + org.h2.jdbcx.JdbcDataSource + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${jboss.bind.address:127.0.0.1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +