Este documento objetiva detalhar processo de instalação da aplicação Gerenciador de Integração através do Docker.

Pré-requisitos



  • Solicitação de acessos para o Repositório Linx de imagens docker hospedado no AZURE
  • Docker (https://www.docker.com/) instalado no servidor onde será feito deploy da imagem da aplicação


Requisitos

Para conseguir dar prosseguimento no processo de configuração do Gerenciador de Integração é imprescindível que na maquina onde esse processo será executado tenha a aplicação Docker instalado, caso não tenha essa aplicação instalada na maquina acesse os seguintes documentos:

  • Após instalação do Docker, realizar processo da habilitação rede interna do Conteiner. 

    TERMINAL
    docker network create netlinx

Etapa 1 - Preparação ambiente para instalação da imagem da aplicação 



Esta etapa objetiva preparar um diretório no servidor onde será instalada e executada a imagem do Gerenciador de Integração.


Atenção

Caso já tenha havido processo de preparação de ambiente para o servidor, os passos abaixo podem ser ignorados. Se as recomendações desta foram seguidas, basta verificar se existe diretório com nomenclatura container-linx no diretório /home (caso, Linux) ou na unidade "C:", caso Windows.


Passo a passoDetalhamento e exemplos


1 - Criação de diretório

Sugerimos a criação de um diretório exclusivo para receber a imagem da aplicação.

Dessa forma, sugerimos que seja criado diretório containers-linx, no /home (caso, sistema operacional linux) ou na unidade "c:", (caso Windows).

Na coluna ao lado estão os exemplos de comandos a serem executados o sistema operacional linux


TERMINAL LINUX
user@group /home: mkdir containers-linx
TERMINAL WINDOWS
C:\: mkdir containers-linx

2 - Concessão de Permissões

Conceder permissão completa para diretório acima definido, a fim de habilitar as ações de leitura, escrita e execução da aplicação.

Na coluna ao lado está detalhado comando CHMOD.

TERMINAL
user@group /home: chmod 777 -R containers-linx

INFO

Em geral, no sistema operacional Windows, esse tipo de permissão não é necessária. Todo caso, caso haja alguma restrição no processo de instalação, deve ser verificado com o administrador do sistema.



Etapa 2 - Download da Imagem do Gerenciador de Integração



Esta etapa objetiva explicar processo de download da release do Gerenciador de Integração que está disponível no RCA Azure Linx.

Atenção

Para a sequencia dessa etapa é mandatório que usuário tenha o acesso mencionado na seção pré-requisitos.



Passo a passoDetalhamento e exemplos
1- Iniciar um novo TERMINAL e executar comando para processo de autenticação no Azure.
TERMINAL LINUX
user@group /home/containers-linx: docker login acrbigretail.azurecr.io
TERMINAL WINDOWS
C:\containers-linx : docker login acrbigretail.azurecr.io


2 - Realizar download da imagem da aplicação.

Neste passo, deve ser informada a versão do release desejado no formato XX.XX.XX.

No exemplo ao lado está sendo considerada a versão 01.10.00 do Gerenciador de Integração web . Após execução do comando, download será iniciado.


TERMINAL LINUX
user@group /home/containers-linx: docker pull acrbigretail.azurecr.io/gerenciador-integracao-web:<versao>
// substitua o <versao> pela numeração correta EX: 01.10.00
TERMINAL WINDOWS
C:\containers-linx : docker pull acrbigretail.azurecr.io/gerenciador-integracao-web:<versao>
// substitua o <versao> pela numeração correta EX: 01.10.00
TERMINAL WINDOWS
root@aa-VirtualBox /home: docker pull acrbigretail.azurecr.io/gerenciador-integracao-web::1.10.0
1.10.0: Pulling from gerenciador-integracao-web
75f829a71a1c: Already exists
7b11f246b3d3: Already exists
b765648c2a58: Already exists
506aff4a9c5a: Already exists
b5b922707580: Already exists
d2bb040705ab: Pull complete
d805ec4d9dd7: Pull complete
42cbf59b928c: Pull complete
797a05ad3155: Pull complete
d48bd8701faf: Pull complete
887c49218327: Pull complete
1956f87a564b: Pull complete
a80382e3b72b: Pull complete
813a0eb45864: Pull complete
51bee593eaf0: Pull complete
6506e0465315: Pull complete
92b3c4968071: Pull complete
Digest: sha256:013aafbcd3ad244f79c105f301d70278d78123ef4dd94e54e2b3ea03b2bbcc58
Status: Downloaded newer image for acrbigretail.azurecr.io/gerenciador-integracao-web::1.10.0
acrbigretail.azurecr.io/gerenciador-integracao-web::1.10.0



Etapa 3 -Configurando o Container (Docker) para Execução  



Nesse passo vamos detalhar processo de configuração para execução do container (Docker) contendo a aplicação do Gerenciador de Integração.

Principal objetivo é detalhar as instruções para prover as configurações necessárias para funcionamento da aplicação como:

  • Apontamentos e credenciais de banco de dados
  • Definições de tunning de memória da JVM
  • Configurações de volume externo ao contêiner onde haverá uma visibilidade para informações necessárias do cotidiano como: acesso aos logs e arquivos de configuração da aplicação.


INFORMAÇÕESEXEMPLO


1- Criação de diretório para armazenar as configurações

Sugerimos a criação do diretório container-gerenciador-integracao-web, no /home/conatiner-linx (caso, sistema operacional linux) ou na unidade "c:/container-linx", (caso Windows).


Atenção

Caso tenha sido escolhido um outro diretório na Etapa 01 deste documento, a instrução acima deve considerar este diretório como a raiz para criação do container-gerenciador-integracao-web.



TERMINAL LINUX
user@group /home/containers-linx: mkdir container-gerenciador-integracao-web
TERMINAL WINDOWS
C:\containers-linx : mkdir container-gerenciador-integracao-web


2 - Concessão de Permissões

Conceder permissão completa para diretório completo a fim de habilitar as ações de leitura, escrita e execução da aplicação.

Na coluna ao lado está detalhado comando CHMOD.





TERMINAL
user@group /home/containers-linx: chmod 777 -R container-gerenciador-integracao-web

INFO

Em geral, no sistema operacional Windows, esse tipo de permissão não é necessária. Todo caso, caso haja alguma restrição no processo de instalação, deve ser verificado com o administrador do sistema.


3- Definir as configurações por linha de comando

Uma vez realizados os processos acima, deve ser executado comando abaixo para configuração da base de dados , necessário para funcionamento do Gerenciador de Integração..


docker run --name gerenciador-integracao -dit --network=netlinx --restart=unless-stopped  -p 8454:8443 -p 8050:8080 -p 3171:3171 -e DB_CONNINFO=<string conexao banco>-e DB_USER=<usuario banco> -e DB_PASS=<password usuario banco> -e DB_DRIVER=oracle -e MEM_MS=512m -e MEM_MX=512m -e MEM_MAX_PERM=1024m -e MEM_MAX_HEAP=1024m -v /home/containers-linx/container-gerenciador-integracao-web:/opt/jboss/wildfly/standalone/data/gerenciador-integracao-web/ -v /home/containers-linx/container-gerenciador-integracao-web:/opt/jboss/wildfly/standalone/log/ acrbigretail.azurecr.io/gerenciador-integracao-web:<versao>


Os itens marcados em vermelho precisam ser substituídos pelos valores definidos do ambiente onde o servidor será executado.

Abaixo uma tabela com o detalhamentos desses parâmetros:


PropriedadeDetalhamentoExemplo
string conexao bancoURL de conexão com banco de dadosDB_CONNINFO=jdbc:oracle:thin:@10.155.229.31:1521/ora12c
usuario bancoUsuário de acesso ao banco de dadosDB_USER=storex_storex
password usuario bancoSenha de acesso ao banco de dadosDB_PASS=aakqw@!
versaoVersão do Gerenciador de Integraçãoacrbigretail.azurecr.io/gerenciador-integracao-web::1.1.0 


Adicionalmente, para uma melhor compreensão do comando, segue abaixo uma tabela com detalhamento das informações:


PropriedadeDetalhamentoValor recomendado
--name

Nome da Contêiner que receberá imagem da aplicação.


gerenciador-integracao
--networkDefine nome da rede interna necessário para funcionamento do Containernetlinx
--restart

Define comportamento do Container para que seja iniciado juntamente com o Sistema Operacional.

Atenção: Feature exclusiva para LINUX. Para sistema operacional Windows, clique aqui.

unless-stopped
-p

Define as portas que serão utilizadas pela imagem da aplicação no formato <Porta 1><Porta 2>, onde:

<Porta 1> - Porta que será definida pelo cliente, como visível para acessar a aplicação no Contêiner.

<Porta 2> - Porta definida pela Linx que é usada pela imagem da aplicação internamente no Contêiner.

Atenção: A Porta 2 não PODE ser ser modificada, pois afetará funcionamento da aplicação.

-p 8454:8443 -p 8050:8080 -p 3171:3171
acrbigretail.azurecr.io/gerenciador-integracao-web::1.1.0 
Informação da Imagem do Contêiner



TERMINAL LINUX
user@group /home/containers-linx/container-gerenciador-integracao-web: docker run --name gerenciador-integracao -dit --network=netlinx --restart=unless-stopped  -p 8444:8443 -p 8080:8080 -p 4058:4058 -e DB_CONNINFO=<string conexao banco>-e DB_USER=<usuario banco> -e DB_PASS=<password usuario banco> -e DB_DRIVER=oracle -e MEM_MS=512m -e MEM_MX=512m -e MEM_MAX_PERM=1024m -e MEM_MAX_HEAP=1024m -v /home/containers-linx/container-gerenciador-integracao-web:/opt/jboss/wildfly/standalone/data/gerenciador-integracao-web/ -v /home/containers-linx/container-gerenciador-integracao-web:/opt/jboss/wildfly/standalone/log/ acrbigretail.azurecr.io/gerenciador-integracao-web:<versao>
TERMINAL WINDOWS
C:\containers-linx\container-servidor-configuracao: docker run --name gerenciador-integracao -dit --network=netlinx --restart=unless-stopped  -p 8444:8443 -p 8080:8080 -p 4058:4058 -e DB_CONNINFO=<string conexao banco>-e DB_USER=<usuario banco> -e DB_PASS=<password usuario banco> -e DB_DRIVER=oracle  -e MEM_MS=512m -e MEM_MX=512m -e MEM_MAX_PERM=1024m -e MEM_MAX_HEAP=1024m -v C:\containers-linx\:/opt/jboss/wildfly/standalone/data/gerenciador-integracao-web/ -v C:\containers-linx\container-gerenciador-integracao-web:/opt/jboss/wildfly/standalone/log/ acrbigretail.azurecr.io/gerenciador-integracao-web:<versao>




Etapa 4 - Configuração para Inicialização Automática no Sistema Operacional Windows 


Se faz necessário efetuar a configuração para o Start automático da aplicação, essa configuração é extremamente importante para que não haja necessidade de toda a vez em que a maquina onde esta o contêiner for iniciada seja preciso executar manualmente os comandos citados.


Passo a passoDetalhamento e exemplos
1- No menu Iniciar do Windows efetue a busca por Windows Administrative Tools

2- Será aberta a tela de Administrative Tools. Na sequencia, selecionar a opção Task Scheduler


3- Na tela do Task Sheduler, clicar no menu Task Scheduler (Local) no canto esquerdo da tela.

4- Expandir a seleção até que seja exibido diretório Microsoft.

5- Clicar com botão direito na pasta Microsoft e selecione New Folder.

6- Será aberta uma caixa de diálogo. Informar nome desejado e depois confirmar pelo botão 'OK'

No nosso exemplo consideramos nome DOCKER

7 - Seleciona diretório criado anteriormente, clicar com botão direto e selecionar opção CREATE TASK.

Na aba General (Geral), definir o nome da Task e marque as mesmas opções da imagem ao lado.

  • Run whether user logged on or not (Executar estando o usuário conectado ou não)
  • Run with highest privileges (Executar com privilégios mais altos)

No campo Configure for (Configurar para), selecionar a opção de Sistema Operacional igual a da maquina servidora.

EX: se a maquina onde esse processo esta sendo executado é Windows 10 selecione Windows 10

8- Ainda na mesma tela, proceder passos abaixo.

Na aba Triggers (Disparadores) clicar no botão NEW (NOVO). Será aberta uma nova tela. No campo Bigin the Tesk (Iniciar a Tarefa) selecione a opção At log on (Ao inicializar)

  • Marque o check box Delay task for (Atrasar a tarefa em) informe 1 minuto
  • Clique no botão OK

11- Na aba Actions (Ações) clique no botão NEW (NOVO)

  • Será aberta uma nova tela, clique no botão Browser (Pesquisar) 
  • Busque o .exe responsável por iniciar o docker (esse processo foi descrito no pré-requisito)
  • Ao terminar o preenchimento clique no botão OK

12- Ao termino desse processo clique no botão de OK presente na tela de Create Task, assim que clicar em ok será solicitada a senha de usuário administrador


  • Sem rótulos