Browse Source

Avoid "installing" resin, use the resin home directory directly (#3434)

One of the `configure`, `make`, or `make install` steps was failing for
me locally with a weird error when I tried using a new version of Java.
It made me realize that we don't really need those steps.  They take a
little while and are another point of failure.  I believe they also bind
the resin installation to a particular version of Java, when otherwise
there shouldn't be anything stopping us from reusing one resin
installation in all Java versions, though I didn't try that here.
Michael Hixson 7 years ago
parent
commit
45d5082ec6

+ 1 - 1
frameworks/Clojure/compojure/compojure-base.dockerfile

@@ -5,4 +5,4 @@ RUN lein clean
 RUN lein ring uberwar
 RUN lein ring uberwar
 
 
 FROM tfb/resin-java8:latest
 FROM tfb/resin-java8:latest
-COPY --from=leiningen /compojure/target/hello-compojure-standalone.war /var/resin/webapps/ROOT.war
+COPY --from=leiningen /compojure/target/hello-compojure-standalone.war ${RESIN_HOME}/webapps/ROOT.war

+ 1 - 1
frameworks/Clojure/compojure/compojure-raw.dockerfile

@@ -1,2 +1,2 @@
 FROM tfb/compojure-base:latest
 FROM tfb/compojure-base:latest
-CMD resinctl console
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 1 - 1
frameworks/Clojure/compojure/compojure.dockerfile

@@ -1,2 +1,2 @@
 FROM tfb/compojure-base:latest
 FROM tfb/compojure-base:latest
-CMD resinctl console
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Groovy/grails/grails.dockerfile

@@ -16,5 +16,5 @@ RUN grails -Dgrails.work.dir=${GRAILS_WORK_DIR} -non-interactive -plain-output r
 RUN grails -Dgrails.work.dir=${GRAILS_WORK_DIR} -non-interactive -plain-output compile
 RUN grails -Dgrails.work.dir=${GRAILS_WORK_DIR} -non-interactive -plain-output compile
 RUN grails -Dgrails.work.dir=${GRAILS_WORK_DIR} prod -non-interactive -plain-output war
 RUN grails -Dgrails.work.dir=${GRAILS_WORK_DIR} prod -non-interactive -plain-output war
 
 
-RUN cp target/hello-0.1.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+RUN cp target/hello-0.1.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 1 - 1
frameworks/Java/activeweb/activeweb-base.dockerfile

@@ -4,4 +4,4 @@ WORKDIR /activeweb
 RUN mvn clean package -DskipTests
 RUN mvn clean package -DskipTests
 
 
 FROM tfb/resin:latest
 FROM tfb/resin:latest
-COPY --from=maven /activeweb/target/activeweb.war /var/resin/webapps/ROOT.war
+COPY --from=maven /activeweb/target/activeweb.war ${RESIN_HOME}/webapps/ROOT.war

+ 1 - 1
frameworks/Java/activeweb/activeweb-jackson.dockerfile

@@ -1,2 +1,2 @@
 FROM tfb/activeweb-base:latest
 FROM tfb/activeweb-base:latest
-CMD resinctl console
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 1 - 1
frameworks/Java/activeweb/activeweb.dockerfile

@@ -1,2 +1,2 @@
 FROM tfb/activeweb-base:latest
 FROM tfb/activeweb-base:latest
-CMD resinctl console
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Java/curacao/curacao.dockerfile

@@ -4,5 +4,5 @@ WORKDIR /curacao
 RUN mvn clean compile war:war
 RUN mvn clean compile war:war
 
 
 FROM tfb/resin:latest
 FROM tfb/resin:latest
-COPY --from=maven /curacao/target/curacao.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /curacao/target/curacao.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 1 - 1
frameworks/Java/gemini/Docroot/WEB-INF/resin.xml

@@ -3,7 +3,7 @@
 
 
   <cluster id="">
   <cluster id="">
     
     
-    <resin:import path="/etc/resin/app-default.xml" />
+    <resin:import path="${RESIN_HOME}/conf/app-default.xml" />
     <log name="" level="config" path="stdout:" timestamp="[%H:%M:%S.%s] " />
     <log name="" level="config" path="stdout:" timestamp="[%H:%M:%S.%s] " />
 
 
     <server id="">
     <server id="">

+ 1 - 1
frameworks/Java/gemini/gemini-mysql.dockerfile

@@ -17,4 +17,4 @@ FROM tfb/resin:latest
 
 
 COPY --from=ant /gemini /gemini
 COPY --from=ant /gemini /gemini
 
 
-CMD ["resinctl", "-conf", "/gemini/Docroot/WEB-INF/resin.xml", "console"]
+CMD java -jar ${RESIN_HOME}/lib/resin.jar -conf /gemini/Docroot/WEB-INF/resin.xml console

+ 1 - 1
frameworks/Java/gemini/gemini-postgres.dockerfile

@@ -17,4 +17,4 @@ FROM tfb/resin:latest
 
 
 COPY --from=ant /gemini /gemini
 COPY --from=ant /gemini /gemini
 
 
-CMD ["resinctl", "-conf", "/gemini/Docroot/WEB-INF/resin.xml", "console"]
+CMD java -jar ${RESIN_HOME}/lib/resin.jar -conf /gemini/Docroot/WEB-INF/resin.xml console

+ 1 - 1
frameworks/Java/gemini/gemini.dockerfile

@@ -14,4 +14,4 @@ FROM tfb/resin:latest
 
 
 COPY --from=ant /gemini /gemini
 COPY --from=ant /gemini /gemini
 
 
-CMD ["resinctl", "-conf", "/gemini/Docroot/WEB-INF/resin.xml", "console"]
+CMD java -jar ${RESIN_HOME}/lib/resin.jar -conf /gemini/Docroot/WEB-INF/resin.xml console

+ 2 - 2
frameworks/Java/revenj-jvm/revenj-jvm.dockerfile

@@ -13,5 +13,5 @@ RUN rm dsl-compiler.zip
 RUN mvn clean compile war:war
 RUN mvn clean compile war:war
 
 
 FROM tfb/resin-java8:latest
 FROM tfb/resin-java8:latest
-COPY --from=maven /revenj-jvm/target/revenj.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /revenj-jvm/target/revenj.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Java/servlet/servlet-afterburner.dockerfile

@@ -4,5 +4,5 @@ WORKDIR /servlet
 RUN mvn clean compile war:war -P afterburner
 RUN mvn clean compile war:war -P afterburner
 
 
 FROM tfb/resin:latest
 FROM tfb/resin:latest
-COPY --from=maven /servlet/target/servlet.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /servlet/target/servlet.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Java/servlet/servlet-cjs.dockerfile

@@ -4,5 +4,5 @@ WORKDIR /servlet
 RUN mvn clean compile war:war -P cjs
 RUN mvn clean compile war:war -P cjs
 
 
 FROM tfb/resin:latest
 FROM tfb/resin:latest
-COPY --from=maven /servlet/target/servlet.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /servlet/target/servlet.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Java/servlet/servlet-mysql.dockerfile

@@ -4,5 +4,5 @@ WORKDIR /servlet
 RUN mvn clean compile war:war -P mysql
 RUN mvn clean compile war:war -P mysql
 
 
 FROM tfb/resin:latest
 FROM tfb/resin:latest
-COPY --from=maven /servlet/target/servlet.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /servlet/target/servlet.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Java/servlet/servlet-postgresql.dockerfile

@@ -4,5 +4,5 @@ WORKDIR /servlet
 RUN mvn clean compile war:war -P postgresql
 RUN mvn clean compile war:war -P postgresql
 
 
 FROM tfb/resin:latest
 FROM tfb/resin:latest
-COPY --from=maven /servlet/target/servlet.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /servlet/target/servlet.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Java/servlet/servlet.dockerfile

@@ -4,5 +4,5 @@ WORKDIR /servlet
 RUN mvn clean compile war:war
 RUN mvn clean compile war:war
 
 
 FROM tfb/resin:latest
 FROM tfb/resin:latest
-COPY --from=maven /servlet/target/servlet.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /servlet/target/servlet.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Java/spark/spark.dockerfile

@@ -4,5 +4,5 @@ WORKDIR /spark
 RUN mvn clean package
 RUN mvn clean package
 
 
 FROM tfb/resin-java8
 FROM tfb/resin-java8
-COPY --from=maven /spark/target/spark.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /spark/target/spark.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Java/tapestry/tapestry.dockerfile

@@ -4,5 +4,5 @@ WORKDIR /tapestry
 RUN mvn clean compile war:war
 RUN mvn clean compile war:war
 
 
 FROM tfb/resin-java8:latest
 FROM tfb/resin-java8:latest
-COPY --from=maven /tapestry/target/tapestry.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /tapestry/target/tapestry.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 2 - 2
frameworks/Java/wicket/wicket.dockerfile

@@ -4,5 +4,5 @@ WORKDIR /wicket
 RUN mvn clean compile war:war
 RUN mvn clean compile war:war
 
 
 FROM tfb/resin:latest
 FROM tfb/resin:latest
-COPY --from=maven /wicket/target/hellowicket-1.0.war /var/resin/webapps/ROOT.war
-CMD resinctl console
+COPY --from=maven /wicket/target/hellowicket-1.0.war ${RESIN_HOME}/webapps/ROOT.war
+CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 3 - 7
toolset/setup/docker/webservers/resin-java8.dockerfile

@@ -3,12 +3,8 @@ FROM tfb/java8:latest
 RUN mkdir /resin
 RUN mkdir /resin
 WORKDIR /resin
 WORKDIR /resin
 RUN curl -s http://www.caucho.com/download/resin-4.0.55.tar.gz | tar xz
 RUN curl -s http://www.caucho.com/download/resin-4.0.55.tar.gz | tar xz
-WORKDIR /resin/resin-4.0.55
-RUN ./configure
-RUN make
-RUN make install
-
-# Remove the default app so that frameworks using Resin don't have to.
-RUN rm -rf /var/resin/webapps/*
 
 
 ENV RESIN_HOME=/resin/resin-4.0.55
 ENV RESIN_HOME=/resin/resin-4.0.55
+
+# Remove the default app so that frameworks using Resin don't have to.
+RUN rm -rf ${RESIN_HOME}/webapps/*

+ 3 - 7
toolset/setup/docker/webservers/resin.dockerfile

@@ -3,12 +3,8 @@ FROM tfb/java:latest
 RUN mkdir /resin
 RUN mkdir /resin
 WORKDIR /resin
 WORKDIR /resin
 RUN curl -s http://www.caucho.com/download/resin-4.0.55.tar.gz | tar xz
 RUN curl -s http://www.caucho.com/download/resin-4.0.55.tar.gz | tar xz
-WORKDIR /resin/resin-4.0.55
-RUN ./configure
-RUN make
-RUN make install
-
-# Remove the default app so that frameworks using Resin don't have to.
-RUN rm -rf /var/resin/webapps/*
 
 
 ENV RESIN_HOME=/resin/resin-4.0.55
 ENV RESIN_HOME=/resin/resin-4.0.55
+
+# Remove the default app so that frameworks using Resin don't have to.
+RUN rm -rf ${RESIN_HOME}/webapps/*