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


Pré-requisitos


1. Acesso ao Registro de Contêineres Azure da Linx para ter acesso as imagens da aplicação

2. Docker (https://www.docker.com/) instalado no servidor onde será feito deploy da imagem da aplicação

Informações de instalação do docker

Para conseguir dar prosseguimento no processo de configuração do Servidor de Configuração é imprescindível que na maquina onde esse processo será executado tenha a aplicação Docker instalada, 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 Servidor de Configuraçã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 ~#: 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 Servidor de Configuração 


Esta etapa objetiva explicar processo de download da release do Servidor de Configuraçã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 02.11.00 do Servidor de Configuração. Após execução do comando, download será iniciado.



TERMINAL LINUX
user@group /home/containers-linx: docker pull acrbigretail.azurecr.io/linx-servidor-configuracao:XX.XX.XX
// substitua o XX.XX.XX pela numeração correta EX: 02.11.00
TERMINAL WINDOWS
C:\containers-linx : docker pull acrbigretail.azurecr.io/linx-servidor-configuracao:XX.XX.XX
// substitua o XX.XX.XX pela numeração correta EX: 02.11.00
TERMINAL WINDOWS
root@aa-VirtualBox /home: docker pull acrbigretail.azurecr.io/linx-servidor-configuracao:2.11.0
2.11.0: Pulling from linx-servidor-configuracao
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/linx-servidor-configuracao:2.11.0
acrbigretail.azurecr.io/linx-servidor-configuracao:2.11.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 Servidor de configuraçã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.


Passo a passoDetalhamento e exemplos


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

Sugerimos a criação do diretório container-servidor-configuracao, 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-servidor-configuracao.

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


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-servidor-configuracao

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 e apontamento para servidor de autenticação (SSO), necessário para funcionamento do Servidor de Configuração..


docker run --name serv-configuracao -dit --network=netlinx --restart=unless-stopped -p 8443:8443 -p 8090:8080 -p 4057:4057 -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 -e SSO_URL=http\://<ip container SSO>\:<porta SSO>/auth -v /home/containers-linx/container-servidor-configuracao/config:/opt/jboss/wildfly/standalone/data/ConfigurationManager -v /home/containers-linx/container-servidor-configuração/logs:/opt/jboss/wildfly/standalone/log/ acrbigretail.azurecr.io/linx-servidor-configuracao:<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 banco
URL de conexão com banco de dadosDB_CONNINFO=jdbc:oracle:thin:@10.155.229.31:1521/ora12c
usuario banco
Usuário de acesso ao banco de dadosDB_USER=storex_storex
password usuario banco
Senha de acesso ao banco de dadosDB_PASS=aakqw@!
ip container SSO
Host de conexão com Servidor de Autenticação (SSO)10.11.229.142
porta SSOPorta de conexão com Servidor de Autenticação (SSO)8180
versaoVersão do Servidor de Configuração2.14.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.


linx-servidor-configuracao
--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 8443:8443
-vDefine diretórios que receberão o redirecionamento dos logs
 acrbigretail.azurecr.io/linx-servidor-configuracao:<versao>Informação da Imagem do Contêiner








TERMINAL LINUX
user@group /home/containers-linx/container-servidor-configuracao: docker run --name serv-configuracao -dit --network=netlinx --restart=unless-stopped -p 8443:8443 -p 8090:8080 -p 4057:4057 -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 -e SSO_URL=http\://<ip container SSO>\:<porta SSO>/auth -v /home/containers-linx/container-servidor-configuracao/config:/opt/jboss/wildfly/standalone/data/ConfigurationManager -v /home/containers-linx/container-servidor-configuração/logs:/opt/jboss/wildfly/standalone/log/ acrbigretail.azurecr.io/linx-servidor-configuracao:<versao>


TERMINAL WINDOWS
C:\containers-linx\container-servidor-configuracao: docker run --name serv-configuracao -dit --network=netlinx --restart=unless-stopped -p 8443:8443 -p 8090:8080 -p 4057:4057 -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 -e SSO_URL=http\://<ip container SSO>\:<porta SSO>/auth -v C:\containers-linx\container-servidor-configuração\config:/opt/jboss/wildfly/standalone/data/ConfigurationManager -v C:\containers-linx\container-servidor-configuração\logs:/opt/jboss/wildfly/standalone/log/ acrbigretail.azurecr.io/linx-servidor-configuracao:<versao>


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


Esta etapa detalha os passos para a configuração no Docker para que seja uma Tarefa do Windows, permitindo inicialização automática junto ao Servidor.

Essa configuração é extremamente importante e RECOMENDADA pela linx para que não haja necessidade de ação manual toda vez que a maquina servidora for iniciada ou sofra algum processo de shutdown.


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