Open raisiqueira opened 8 years ago
@raisiqueira eu tenho isso aqui local, só ainda não atualizei aqui o repositório.
A dificuldade basicamente, é qual a forma mais adequada de gerenciar o acesso aos dados que precisam ser compartilhados entre as possíveis várias instâncias do appserver
.
Além disso, como criar uma imagem Docker com o conteúdo de uma instalação padrão do Protheus, sem violar a licença de software da TOTVS. Já que eu não poderia disponibilizar os binários do appserver
(nem dbacces
e afins) e os dados do protheus_data
e tal.
O cenário ideal seria demonstrar em vídeo, ja que não podemos violar os direitos.
Para o acesso às instâncias, acho que uma variável de ambiente do Docker apontando para ini do App Server funcionária.
Vou tentar montar um ambiente do Protheus 12 com isso.
@raisiqueira vc já viu meu outro repositório ? https://github.com/endersonmaia/totvs-dbaccess-docker
Nele eu uso variáveis de ambiente para configurações de conexão com o banco e tal.
Quanto ao acesso ao appserver.ini, poderia ser mapeado via volume (-v $PWD/appserver.ini:/opt/totvs/appserver/appserver.ini
)
Eu vou compartilhar o que tenho até agora, e ver no que vc pode colaborar aí :)
Bom Dia, estou acompanhando o tema, estou fazendo um artigo na faculdade sobre docker com protheus, estou tendo uma dificuldade, talvez possa me ajudar: criei um container com mapeamento de uma pasta do apsrvlinux, consigo levantar o serviço, porem não consigo acessar de um host diferente, o que pode estar acontecendo?
@santana01 quando vc fala "não consigo acessar de um host diferente", vc quer dizer que está levantando um um container em outro Docker Host ?
Se sim, o Docker não exporta volumes fora do host onde está rodando um Docker Engine, vc pode compartilhar a pasta do host para os containers daquele host. Ainda assim, vc poderá ter problemas com acessos concorrentes.
O ideal é compartilhar usando um sistema de arquivos de rede, como o NFS, SMB entre outros.
Se não é este seu caso, explica melhor aí.
Bom dia, te explicar meu projeto talvez consiga esclarecer melhor, tenho um servidor onde instalei o debian 8.5, nesse servidor instalei o docker e criei um conteiner com a imagem do debian já compartilhando as pastas do protheus que está na pasta media do host. Levantei o serviço do protheus (./appsrvlinux) dentro do conteiner, porem não consigo acessar esse serviço de alguma outra maquina da minha rede, preciso fazer mais alguma coisa pra acessar esse serviço levantado dentro do conteiner
@santana01 a conversa está fora do tópico aqui, mas vou tentar lhe ajudar.
vc deve atentar para a configuração de publicação das portas, não ficou claro se vc publicou as portas expostas pelo container para o host, e qual configuração de IPs vc está usando, e como está configurado o seu smartclient.
simplesmente na criação do conteiner usei o seguinte comando: docker run -it -v /media/pastado protheus:/tmp debian bash, não cheguei a definir uma porta, assim que criou o conteiner, via terminal naveguei ate a pasta do appsrvlinux e executei o serviço, na tela me mostra que o serviço está ativo, quando aponto o .ini do smartclient para o ip do docker ele não acha aquele serviço que levantei
@santana01 então leia a documentação do docker run
, e atente para o parametro -p
e veja um exemplo aqui no repositório do endersonmaia/totvs-dbaccess-docker:README.md
Senhores, como que esta esse projeto 2020?
Senhores, como que esta esse projeto 2020?
parado 😞
eiiita... mas chego a rodar? estava rodando?
eiiita... mas chego a rodar? estava rodando?
sim, e depois de usar o dicionário no banco de dados, ficou mais fácil ainda, pq quase nada persiste no appserver, e com o webapp
ficando mais robusto tb facilitava atualizações
só não consegui avançar nos testes com o BrokerServer
e não fiz nada do license tb
pelo que estou vendo a propria totvs esta gerando esse ambiente dockerizado agora, ja viu algo?
pelo que estou vendo a propria totvs esta gerando esse ambiente dockerizado agora, ja viu algo?
sim, eles tem um plugin pra VSCode que usa basicamente isso, mas ele baixa a imagem de um registro deles, não é muito aberto
https://marketplace.visualstudio.com/items?itemName=totvs.protheus-dev-sandbox
Porque não usa esse tutorial [https://siga0984.wordpress.com/2016/07/10/protheus-no-linux-parte-01/](Protheus no Linux) como Base, e faz o docker-compose orquestrar os dois Containers, o do DBAccess/DBMonitor e o do App Server?