Jboss / Wildfly : Dockerfile

Neste post será apresentado como disponibilizar um container wildlfy standalone via Docker .

 

1) Sobre a imagem :

O projeto se encontra no meu Github :

https://github.com/fabioabreureis/DOCKER/tree/master/images/jboss/wildfly

 

Dockerfile sem adicionar o deploy automaticamente.

FROM jboss/wildfly

EXPOSE 9990
EXPOSE 8080

ADD commands.cli /tmp
ADD entrypoint.sh /tmp
USER root
RUN chown -R jboss:jboss /tmp
RUN chmod +x /tmp/entrypoint.sh

USER jboss

WORKDIR /tmp
ENTRYPOINT ["/tmp/entrypoint.sh"]

Dentro do script commands.cli teremos todos os parâmetros necessários para subirmos o sistema no Jboss.

 

Para executamos o script de cli e adicionar o usuário e senha admin é execute o script entrypoint.sh  , onde é necessário o  ajuste da linha abaixo para ajustar a senha do admin:

 

/opt/jboss/wildfly/bin/add-user.sh <USER> <PASS> --silent

 

Executando a primeira vez para ver o start do Jboss via console.

docker  run -it -p 8082:8080 -p 9992:9990 wildfly:v1

 

Caso seja necessário incluir o deploy diretamente sem console podemos deixar usar tag ADD copiando para o diretório padrão de deploy.

Exemplo :

FROM jboss/wildfly

EXPOSE 9990
EXPOSE 8080

ADD commands.cli /tmp
ADD entrypoint.sh /tmp
ADD helloworld.war /opt/jboss/wildfly/standalone/deployments/
USER root
RUN chown -R jboss:jboss /tmp
RUN chmod +x /tmp/entrypoint.sh

USER jboss

WORKDIR /tmp
ENTRYPOINT ["/tmp/entrypoint.sh"]

 

2) Considerações finais :

 

Caso o ambiente precise atualizar os módulos , é utilizado o diretório de módulos do host dentro do container :

 

docker run -di --name fajlinux-jboss -p 9992:9990 -p 8082:8080 \ 
-v /opt/wilfly/modules:/opt/jboss/wildfly/modules wildlfy:v1