Docker

Publicando e executando um microsserviço devprime no Docker

Os microsserviços desenvolvidos com o DevPrime podem ser contenizados com a criação de uma imagem docker local ou privada no ‘Docker Hub", “Azure ACR”, Amazon ECR, Google Container Registry e outras opções privadas.

Para utilizar o Docker utilize o guia rápido com várias opções de configurações que utilizamos na documentação.

Construindo uma imagem docker
Os projetos criados com o DevPrime já trazem um arquivo ‘Dockerfile’ configurado para construção de um container utilizando uma imagem Linux padrão fornecida pela Microsoft. Execute o comando na pasta do projeto. Você pode alterar o nome ‘order’ e a tag ‘v1’.

docker build . -t  order:v1

Publicando um container devprime no dockerhub
O Docker utiliza TAG para organização das imagens dos containers. Em nosso cenário informaremos o endereço do nosso repositório ‘devprime’ e posteriormente faremos um Push.

docker tag order:v1 devprime/order:v1
docker push devprime/order:v1

Exportando os parâmetros para executar no Docker
O DevPrime CLI oferece um comando para exportar os parâmetros necessários com as variáveis de ambiente do DevPrime para definições de configuração. Você terá um arquivo powershell e outro bash.
dp export docker

Docker Microservices devprime

Para facilitar a visualização os parâmetro foram colocados em linhas separadas. Ao copiar o código atualize as credenciais e remova as quebras de linhas.

docker run --network devprime --name order
-e devprime_app="license=Put your license code|||debug=false|||debugstate=false|||debugstream=false|||debugweb=false|||showenviromentvariables=false|||tenancy=[enable=false,type=Shared,cache=State2,gateway=https://localhost:5003]"
-e devprime_observability="enable=true|||saveinfile=false|||hidedetails=false|||hidedatetime=false|||showhttperrors=400"
-e devprime_web="url=http://*:8080|||enable=true|||enableswagger=true|||postsuccess=201|||postfailure=500|||getsuccess=200|||getfailure=500|||patchsuccess=200|||patchfailure=500|||putsuccess=200|||putfailure=500|||deletesuccess=200|||deletefailure=500"
-e devprime_security=""
-e devprime_services="enable=true|||retry=3|||circuitbreak=45|||timeout=10|||connections=[clientid=your client id,clientsecret=your client secret,granttype=client_credentials,name=Services1,tokenuri=your token uri]"
-e devprime_state1="alias=State1|||dbtype=mysql|||connection=Persist Security Info=False;database=order-mysql;server=mysql;Connect Timeout=30;user id=root; pwd=LltF8Nx*yo|||timeout=5|||dbversion=8.0.26-mysql|||retry=2|||durationofbreak=45"
-e devprime_stream1="alias=Stream1|||enable=true|||default=true|||streamtype=RabbitMQ|||hostname=rabbitmq|||user=guest|||password=guest|||port=5672|||exchange=devprime|||exchangetype=direct|||retry=3|||fallback=State1"
-e devprime_custom="stream.orderevents=orderevents" -e ASPNETCORE_URLS='http://*:8080' -p 8080:8080 order:v1
Última modificação March 9, 2022 (1fe904b)