Ir para o final dos metadados
Ir para o início dos metadados

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 5 Próxima »

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 contêiner só estará disponível enquanto estiver executando, caso a aplicação dentro do contêiner pare, ele “o contêiner para“ e aguarda ser chamado novamente.

Basicamente, dentro do contêiner temos o Wildfly, também conhecido como JBoss, é um servidor de aplicação Java EE desenvolvido em Java e pode ser executado em qualquer Sistema Operacional, 32 ou 64 bits que tenha suporte ao Java.

Todos os passos devem ser realizados dentro do da pasta /opt/wildfly/ , que estará dentro do contêiner. Mas, inicialmente deve verificar se o contêiner está disponível.

  • Para verificar se o contêiner estiver de “on” execute o comando abaixo.

~$ docker ps
  • Caso o nome do contêiner que deseja logar esteja disponível, faça o comando abaixo para entrar no contêiner.

~$ docker exec -it nomeDoContainer
  • Primeiramente, se faz necessário saber qual o banco e dados da conexão, como 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 file.

  • Estando com driver disponível, vá na pasta “/opt/wildfly/modules/system/layers/base/com” crie uma pasta com nome do banco: “seguindo a ordem nomeSGBD/main“

~$ mkdir /sqlServer/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ção:

<!-- 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 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:

cd /opt/wildfly/stantalone/configuration
  • Estando na pasta de configuração digite:

vim standalone.xml
  • Dentro do arquivo procure a TAG <datasources> e dentro da mesma, coloque o trecho abaixo:

             <!-- jndi-name, nunca mude este valor  -->
             <!-- connection-url, de uma pesquisa na internet que tera varios exemplos, cada banco usa um estilo.  -->
             <!--  driver-class, procure o mesmo na internet, veja qual SGBD vai usar tem um para casa SGBD.  --> 
             <!-- driver, é o nome que vai configurar logo na proxima instrução.  -->
             <!-- user-name e password, nome de usuario que foi criado para aplicação e password. -->
              <datasource jndi-name="java:jboss/datasources/connection"
					pool-name="teste" enabled="true" use-java-context="true"
					statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
					<connection-url>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</connection-url>
					<driver-class>xxxxxxxxxxxxxxxxxxxxxxxxxxxxx</driver-class>
					<driver>xxxxxxxxxxxxxxxxxxxxx</driver>
					<pool>
						<min-pool-size>5</min-pool-size>
						<max-pool-size>25</max-pool-size>
						<flush-strategy>FailingConnectionOnly</flush-strategy>
					</pool>
					<timeout>
						<set-tx-query-timeout>true</set-tx-query-timeout>
						<blocking-timeout-millis>20000</blocking-timeout-millis>
						<idle-timeout-minutes>4</idle-timeout-minutes>
						<query-timeout>10</query-timeout>
						<use-try-lock>100</use-try-lock>
						<allocation-retry>2</allocation-retry>
						<allocation-retry-wait-millis>3000</allocation-retry-wait-millis>
					</timeout>
					<security>
						<user-name>xxxxxxxxxxxxxxxxxxxx</user-name>
						<password>xxxxxxxxxxxxxxxxxxxxx</password>
					</security>
				</datasource>
  • Agora dentro do arquivo procure a TAG <drivers> e dentro da mesma, coloque o trecho abaixo:

                <!-- 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="mysql" module="com.mysql">
						<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
					</driver>
  • Salve o arquivo standalone.xml, agora para testar se tudo deu certo faça o comando abaixo:

~$ /opt/wildfly/bin/standalone.sh
  • Se o log não apresentar erros, saia do contêiner e reinicie. Caso tenha erros terá que tratar os mesmos.

~$ exit
~$ docker restart 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.

  • Basicamente, terá que entrar no contêiner:

~$ docker exec -it nomeDoContainer
  • Entrar na pasta.

~$ cd /opt/wildfly/standalone/deployments
  • 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 o contêiner . Para isso tem que sair do contêiner, e solicitar o reinicio. E validar os logs.

~$ exit
~$ docker restart nomeDoContainer
-$ docker 

  • Sem rótulos