Skip to content

Instantly share code, notes, and snippets.

@markswell
Created December 22, 2020 03:00
Show Gist options
  • Save markswell/16043beee5d8f7712625f7ceac807952 to your computer and use it in GitHub Desktop.
Save markswell/16043beee5d8f7712625f7ceac807952 to your computer and use it in GitHub Desktop.
A default Dockerfile to depoly an application on Wildfly standalone
FROM jboss/wildfly:21.0.1.Final
ENV JBOSS_HOME /opt/jboss/wildfly
ENV POSTGRES_VERSION 42.2.9
ENV DB_USER pdv
ENV DB_PASS pdv
ENV DB_HOST localhost
ENV DB_NAME pdv
ENV DB_PORT 5432
ENV USER admim
ENV PASSWORD admim
ENV APPLICATION teste
RUN ${JBOSS_HOME}/bin/add-user.sh -u ${USER} -p ${PASSWORD} && \
cd /tmp && \
curl -O https://repo1.maven.org/maven2/org/postgresql/postgresql/${POSTGRES_VERSION}/postgresql-${POSTGRES_VERSION}.jar && \
sleep 5 && \
/bin/sh -c '${JBOSS_HOME}/bin/standalone.sh &' && \
sleep 5 && \
echo "PASSO 1 ..." &&\
echo "ADICIONANDO O MODULO ..." &&\
$JBOSS_HOME/bin/jboss-cli.sh --connect --user=${USER} --password=${PASSWORD} --command="module add --name=org.postgres --resources=/tmp/postgresql-${POSTGRES_VERSION}.jar --slot=main --dependencies=javax.api,javax.transaction.api" && \
sleep 5 && \
echo "REINICIA WILDFLY ..." && \
$JBOSS_HOME/bin/jboss-cli.sh --connect --user=${USER} --password=${PASSWORD} --command="reload" && \
sleep 5 && \
echo "PASSO 2" &&\
echo "ADCIONANDO DRIVE AO DATASOURCE" && \
$JBOSS_HOME/bin/jboss-cli.sh --connect --user=${USER} --password=${PASSWORD} --command="/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)" && \
sleep 5 && \
echo "REINICIA WILDFLY ..." && \
$JBOSS_HOME/bin/jboss-cli.sh --connect --user=${USER} --password=${PASSWORD} --command="reload" && \
sleep 5 && \
echo "PASSO 3" &&\
echo "ADICIONANDO DATASOURCE ..." && \
$JBOSS_HOME/bin/jboss-cli.sh --connect --user=${USER} --password=${PASSWORD} --command="data-source add --jndi-name=java:jboss/datasources/${DB_NAME}DS --name=PostgrePool --connection-url=jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME} --driver-name=postgres --user-name=${DB_USER} --password=${DB_PASS}" && \
sleep 5 && \
$JBOSS_HOME/bin/jboss-cli.sh --connect --user=${USER} --password=${PASSWORD} --command="shutdown"&& \
rm -r $JBOSS_HOME/standalone/configuration/standalone_xml_history/ $JBOSS_HOME/standalone/log/* && \
rm /tmp/postgresql-*.jar
ADD ./target/${APPLICATION}.war /opt/jboss/wildfly/standalone/deployments/
EXPOSE 8080 9990
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment