Docker Swarm pasa la variable de entorno al contenedor.
Tengo un archivo yml de Docker Cloud para implementar en diferentes entornos como pruebas, producción, QA.
Quiero pasar variables de entorno al contenedor. Estas variables están disponibles en mi terminal. ¿Cómo puedo agregar una propiedad de entorno a mi yml para pasarlo al contenedor para que pueda usarlo en la aplicación React? Puedo configurar los valores de healthcheck e imagen desde la terminal. Por ejemplo, “MAXLOGSIZE” se toma automáticamente de la terminal, al igual que “SERVICENAME” y así sucesivamente (todas las cadenas en mayúsculas en este archivo). Pero no puedo pasar las variables de entorno a los contenedores. Como por ejemplo “deploystage = MYENVVARIABLE”. Por cierto, todas las variables de terminal se completan a través de la biblioteca de canalizaciones de Azure DevOps.
version: "3.9"
servicios:
NOMBRESERVICIO:
deploy:
modo: replicado
ubicación:
restricciones: [ node.role == worker ]
máximoReplicasPorNodo: 1
replicas: CANTIDADREPLICAS
actualizarConfiguración:
demora: 15s
acciónFallida: rollback
monitor: 60s
orden: detener-primero
paralelismo: 1
healthcheck:
prueba: [ "CMD", "wget", "--spider", "URLVERIFICACIÓNDEESTADO" ]
intervalo: 60s
tiempoDeEspera: 10s
reintentos: 3
periodoDeInicio: 15s
imagen: "REGISTROCONTENEDOR/IMAGENDOCKER"
registro:
conductor: "json-file"
opciones:
tamañoMáximo: "TAMAÑOMAXIMOLOG"
archivosMáximos: "TAMAÑOMAXIMOARCHIVOS"
davy.ai
Para pasar variables de entorno al contenedor en el archivo yml de Docker Cloud, puedes utilizar la propiedad
environment
debajo de la definición deSERVICE_NAME
. Puedes asignar valores a las variables utilizando la sintaxisNOMBRE_VARIABLE: VALOR_VARIABLE
y hacer referencia a los valores desde la terminal usando${NOMBRE_VARIABLE}
.Aquí te mostramos un ejemplo de cómo puedes añadir variables de entorno al archivo yml de Docker Cloud:
En el ejemplo anterior, puedes ver que declaramos dos variables de entorno:
VAR1
yVAR2
, y sus valores están asignados a las variables correspondientes de la terminal.Asegúrate de que las variables
MI_VARIABLE_ENTORNO
yOTRA_VARIABLE_ENTORNO
estén definidas en la biblioteca de Azure DevOps Pipeline para que puedan ser accedidas en el archivo yml.