O contêiner é um ambiente isolado, que compartilha do kernel do Host, em outras palavras é uma VM só que enxuta, somente contem os programas necessários para seu funcionamento. É o funcionamento da aplicação [Janus], e o contêiner só estará disponível enquanto estiver executando algo, caso a aplicação dentro do contêiner pare, ele “o contêiner para“ e aguarda ser chamado novamente.
...
Para verificar se o contêiner estiver de “on” execute o comando abaixo.
...
Bloco de código |
---|
~$ docker exec -it nomeDoContainer /bin/bash |
Primeiramente, se faz necessário saber qual o banco e dados da conexão, como será usado na aplicação [Janus], e usuário e senha. Em posse desses dados, vamos baixar o driver do banco, use o site do Maven Repository para te ajudar na procura: https://mvnrepository.com/
Ao identificar qual é o Driver que deve usar, baixe ele. Clique em fileFiles.
...
Estando com driver disponível, vá na pasta “/opt/wildfly/modules/system/layers/base/com” e crie uma pasta com nome do banco: “seguindo a ordem nomeSGBD/main“
...
navegue até a pasta main, cole o driver .jar baixado, e crie um arquivo com nome module.xml, dentro dele, deve haver essa instruçãoconter essas instruções:
Bloco de código |
---|
<!-- onde o name deve ter um nome convecional, pois vai precisar do mesmo, e em path deve conter o nome completo do driver --> <module xmlns="urn:jboss:module:1.3" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-5.1.47.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> <module name="javax.servlet.api" optional="true"/> </dependencies> </module> |
Agora temos que configurar o standalone.xml com os dados dos do banco, usuário e senha do banco, e os dados do driver do module criado.
O Vim já foi instalado ao executar o Dockerfile, usaremos ele para editar o standalone.xml. Para editar o aquivo entre em:
Bloco de código |
---|
cd /opt/wildfly/stantalonestandalone/configuration |
Estando na pasta de configuração digite:
Bloco de código |
---|
vim standalone.xml |
Dentro do arquivo, procure a TAG <datasources> e dentro da mesma, coloque o trecho abaixo:
...
Bloco de código |
---|
<!-- name, vai cadastra um nome para o driver e vai usar a instrução acima, na tag Driver --> <!-- module,vai usar o mesmo cadastrado quando criou o module.xml --> <!-- xa-datasource-class, cada driver tem um, tem que procurar o do seu banco/driver baixado --> <driver name="mysqlxxxxxxxxxxxxxxxxxx" module="com.mysqlxxxxxxxxxxxxxxxxxxx"> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource<class>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</xa-datasource-class> </driver> |
Salve o arquivo standalone.xml, agora para testar se tudo deu certo faça o comando abaixo:
Bloco de código |
---|
~$ exit ~$ /opt/wildfly/bin/standalone.sh docker restart nomeDoContainer |
Se o log não apresentar erros, saia do contêiner e reinicie. Caso tenha erros terá que tratar os mesmos.
Bloco de código |
---|
~$ exitdocker ~$container dockerlogs restart-f nomeDoContainer |
Deploy
Em toda release do [Janus], será disponibilizado o pacote .war, junto com instruções necessárias, para efetuar o deploy dos novos pacotes. O processo de distribuição ainda está sendo estudado.
...
E colocar o pacote .war neste local. O Wildfly, costuma já fazer o deploy de forma automática, mas este processo pode falhar. Recomendamos o reiniciar que reinicie o contêiner. Para isso tem que sair do contêiner, e solicitar o reinicio. E validar os logslog's. Mas antes desse passo consulte Aplicação.
Bloco de código |
---|
~$ exit ~$ docker restart nomeDoContainer -$ docker |
Os mesmos passos deve ser realizado no contêiner de Homologação.