docker

Implementación y ejecución de un microservicio de Devprime en docker

Los microservicios desarrollados con Devprime se pueden configurar mediante la creación de una imagen de docker local o privada en docker Hub, Azure ACR, Amazon ECR, Google Container Registry y otras opciones privadas.

Para usar docker, use la guía rápida con varias opciones de configuración que usamos en la documentación.

Creación de una imagen de docker
Los proyectos creados con Devprime ya tienen un archivo ‘dockerfile’ configurado para compilar un contenedor utilizando una imagen estándar de Linux proporcionada por Microsoft. Ejecute el comando en la carpeta del proyecto. Puede cambiar el nombre ‘order’ y la etiqueta ‘v1’.

docker build . -t  order:v1

Publicación de un contenedor Devprime en dockerhub
docker usa TAG para organizar las imágenes de contenedor. En nuestro escenario, ingresaremos la dirección de nuestro repositorio ‘Devprime’ y posteriormente haremos un Push.

docker tag order:v1 Devprime/order:v1
docker push Devprime/order:v1

Exportación de los parámetros para ejecutarlos en docker
La CLI de Devprime proporciona un comando para exportar los parámetros necesarios con las variables de entorno de Devprime para los ajustes de configuración. Tendrás un archivo de PowerShell y un archivo Bash.
dp export docker

Microservicios de docker Devprime

Para facilitar su visualización, los parámetros se han colocado en líneas separadas. Al copiar el código, actualice las credenciales y elimine los saltos de línea.

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 modificación January 10, 2024 (967dcac3)