Docker

Implantando 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 microsserviços 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 September 2, 2023 (c87f0320)