# build-e3plus-java FROM centos:7
EXPOSE 8080
ENV MAVEN_VERSION 3.3.3
ENV TZ Asia/Shanghai
ENV JVM_OPTS -Xmx512M
ENV LANG en_US.UTF-8
LABEL io.k8s.description="Platform include Oracle Java for building and running Spring Boot applications"
io.k8s.display-name="Java 8 Maven 3"
io.openshift.expose-services="8080:http"
io.openshift.tags="builder,java,java8,maven,maven3"
Author="Clockdiff"
Version="1.0"
EXPOSE="8080"
MavenVersion="Apache-maven-3.3.3"
JavaVersion="oracle-jdk-1.8.111"
io.openshift.s2i.scripts-url="image:///usr/libexec/s2i"
ADD apache-maven-3.3.3.tar /opt/maven
ADD jdk-8u111-linux-x64.tar.gz /opt/jdk
ADD settings.xml /opt/maven/apache-maven-3.3.3/conf/
RUN yum install telnet net-tools -y ;\
yum clean all ;\
mkdir -p /data/apps/{src,jars} ;\
useradd -s /sbin/nologin -b /data/apps/ -M -u 1001 -g 0 -c "Baison springcloud applications run user" baison ;\
ln -s /opt/maven/apache-maven-3.3.3/bin/mvn /usr/bin/mvn
ADD repository.tar /data/apps/ RUN chown -R 1001:0 /data/apps/ ;\
chmod g+w /data/apps/
ENV MAVEN_HOME /opt/maven/apache-maven-3.3.3
ENV JAVA_HOME /opt/jdk/jdk1.8.0_111
ENV PATH $PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
COPY local_policy.jar /opt/jdk/jdk1.8.0_111/jre/lib/security/
COPY US_export_policy.jar /opt/jdk/jdk1.8.0_111/jre/lib/security/
COPY ./s2i/bin/ /usr/libexec/s2i
USER 1001 CMD /usr/libexec/s2i/usage
#!/bin/bash -e
echo "---> Installing application source"
cp -Rf /tmp/src/. /data/apps/src
cd /data/apps/src
echo "---> Building Spring Boot application from source"
echo "--> # mvn clean package -Dmaven.test.skip=true -U"
mvn clean package -Dmaven.test.skip=true -U
APP_SERVICE=${APP_SERVICE}-service
cd ${APP_SERVICE}
APP_TARGET=${APP_TARGET:-target}
jarname=$(find $APP_TARGET -name .jar)
cd ../..
cp src/${APP_SERVICE}/${jarname} jars/
jarfilename=${jarname##/}
md5sum jars/$jarfilename|awk '{print $1}' > jars/$jarfilename.md5
rm -rf src
rm -rf /tmp/src
echo "clean maven local repository"
rm -rf /data/apps/repository
#!/bin/bash -e
#
# S2I run script for the 'build-e3plus-java' image.
# The run script executes the server that runs your application.
#
# For more information see the documentation:
# https://github.com/openshift/source-to-image/blob/master/docs/builder_image.md
#
cd /data/apps/jars
java $JVM_OPTS -jar find . -name *.jar $JAVA_OPTS
#!/bin/bash -e
cat <<EOF
This is the build-e3plus-java S2I image:
To use it, install S2I: https://github.com/openshift/source-to-image
Sample invocation:
s2i build <source code path/URL> build-e3plus-java
You can then run the resulting image via:
docker run -p 8080:8080 springboot-sample-app
EOF
Content type
Image
Digest
Size
569.9 MB
Last updated
over 5 years ago
docker pull clockdiff/build-e3plus-java:v1