Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

O objetivo desta página é demonstrar como montar um projeto docker com um webserver tomcat utilizando o produto Datasul. Esta montagem será feita com base em arquivos de configuração de um projeto existente no servidor jv-fwk-dev02 (servidor de ambientes docker Datasul e Logix). 

Este projeto de ambiente local utiliza o servidor de aplicação progress e banco de dados da rede disponibilizado para o ambiente http:\\gales:8280\menu-html

Passo a Passo

Passo 1 - Criar uma pasta com o nome treinamento no diretório de usuários

...

Aviso
  • Esta etapa de utilizar o c:\Users é obrigatório para quem utilizar o Docker Toolbox (para compartilhamento de pastas).
  • Quem utilizar o Docker for Windows pode utilizar qualquer pasta da máquina.

Passo 2 - Criar novas pastas dentro da pasta treinamento

...

Passo 3 - Acessar o diretório  do servidor jv-fwk-dev02

...

Passo 4 - Copiar arquivos do servidor jv-fwk-dev02

...

sobrescrever as propriedades do produto DATASUL utilizadas em um ambiente com Tomcat.


...

Context.xml

Por meio do arquivo context.xml é possível sobrescrever as propriedades do produto DATASUL, o arquivo fica localizado na pasta conf onde foi instalado o Tomcat. Para realizar o procedimento basta adicionar um nova Environment.

Exemplo de propriedade alterando sobrescrevendo a cor do menu:

<Environment name="totvs.menu.html.color" value="#09ddea"

...

Passo 5 - Edição do arquivo tomcat.sh.

Nesta etapa devemos remover a função  wait_for_appserver. Ela não será necessária para este projeto.

...

Remover do código a função:

...

function wait_for_appserver {
echo Waiting for AppServer...
while [ ! -s /usr/wrk/datasul-1217-progress-8080.server.000001.log ]
do
sleep 2
done
sleep 5
}

...

function start_tomcat {
echo Starting Tomcat...
/usr/local/tomcat/bin/startup.sh
}
function stop_tomcat {
echo Stopping Tomcat...
/usr/local/tomcat/bin/shutdown.sh
exit 0;
}
start_tomcat
#!/usr/bin/env bash
echo Running...
trap stop_tomcat SIGTERM
while true; do
sleep 1;
done

Passo 6 - Edição do arquivo .env

...

PROJECT_PATH=C:\Users\<SEU USUARIO>\treinamento
PROJECT=tomcat-local
WEB_PORT=8280
DI_PORT=8780
TOMCAT_VERSION=9.0.0.M17-jre8

Passo 7 - Edição do arquivo docker-compose.yml

Neste projeto utilizamos apenas o serviço webserver, desta maneira não é necessário configurar os serviços database e appserver.

A área de volumes não será necessária para este exemplo e também será removida.

...

Bloco de código
languagetext
# Configuracoes Gerais do Ambiente
#
# Projeto tomcat-local container tomcat 
# com o produto Datasul (Novo Framework)
#
# 1. APPSERVER:
#   1.1 Appserver da rede - ambiente Gales 8280 
# 2. BANCO DE DADOS:
#   1.1 Banco de dados da rede - ambiente Gales 8280
#

version: "3"
services:  
  webserver:
    image: tomcat:${TOMCAT_VERSION}
    container_name: ${PROJECT}-webserver
    ports:
     - "${WEB_PORT}:8080"
     - "${DI_PORT}:${DI_PORT}"
    volumes:
     - ${PROJECT_PATH}/${PROJECT}/scripts:/scripts
     - ${PROJECT_PATH}/${PROJECT}/scripts/webserver/context.xml:/usr/local/tomcat/conf/context.xml
     - ${PROJECT_PATH}/${PROJECT}/scripts/webserver/server.xml:/usr/local/tomcat/conf/server.xml
     - ${PROJECT_PATH}/${PROJECT}/scripts/webserver/catalina.properties:/usr/local/tomcat/conf/catalina.properties
     - ${PROJECT_PATH}/${PROJECT}/scripts/webserver/logging.properties:/usr/local/tomcat/conf/logging.properties
     - ${PROJECT_PATH}/${PROJECT}/scripts/webserver/webapps:/usr/local/tomcat/webapps
     - ${PROJECT_PATH}/${PROJECT}/temp/tomcat:/usr/local/tomcat/logs         
    environment:
      TZ: "Brazil/East"
    command: /bin/bash /scripts/webserver/tomcat.sh

Passo 8 - Copiar os arquivos web

  • 1- Copiar (Não recortar) todo o conteúdo do diretório \\JV-FWK-DEV02\users\treinamento\webapps para o diretório C:\Users\<SEU USUÁRIO>\treinamento\tomcat-local\scripts\webserver\webapps

Passo 9 - Editar arquivo context.xml

...

languagetext

...

type="java.lang.String"/>
Informações
<Environment name="totvs.config.server.host" value="localhost" type="java.lang.String"/> <Environment name="totvs.config.server.port" value="8780" type="java.lang.String"/> <Environment name="totvs.config.server.webport" value="8280" type="

Todos as propriedades são do tipo

java.lang.String

"/>

Objetivo das propriedades informadas:

  • totvs.appserver: Faz o uso do appserver da rede do ambiente gales8280
  • totvs.license.ambient.type: Configuração para utilizar o license em modo demonstração
  • totvs.config.server.host: Informa que o ambiente será localhost (Alterar o valor localhost para o IP da VM para quem utilizar o Docker Toolbox)
  • totvs.config.server.port: Informa que a porta utilizada para comunicação do DI será 8780 (É a porta informada no arquivo .env (DI_PORT)).
  • totvs.config.server.webport: Informa que a porta utilizada no tomcat será 8280 (É a porta informada no arquivo .env (WEB_PORT)).

Passo 10 - Docker-compose

...

Creating tomcat-local-webserver ... done
Attaching to tomcat-local-webserver
tomcat-local-webserver | Starting Tomcat...
tomcat-local-webserver | Tomcat started.
tomcat-local-webserver | Running...


...

Lista de propriedades que podem ser utilizadas

...

  1. Acessar o endereço http:\\<IP-VM>:8280\totvs-menu
  2. Acessar com usuário super e senha super@123

...

  • Acessar o diretório do projeto C:\Users\<SEU USUÁRIO>\treinamento\tomcat-local utilizando o CMD ou Docker client
  • Executar o comando docker-compose down

...