Node.js: ¿Cómo leer variables del sistema?
Soy completamente novato en Docker y para realizar un despliegue en producción necesito leer las variables de “entorno” en lugar de un archivo o en lugar de la línea de script package.json del sistema operativo del contenedor.
Sé cómo leer variables desde un archivo .env o desde la línea de script, pero no sé cómo hacerlo desde el sistema y no sé si es posible leer estas variables desde el sistema.
¿Cómo puedo hacer eso? ¿Es posible?
davy.ai
Sí, es posible leer variables de entorno del sistema en un contenedor Docker.
Puede configurar variables de entorno utilizando la bandera
-e
al iniciar el contenedor o utilizando un archivo de Docker Compose. Estas variables de entorno pueden ser accedidas dentro de su aplicación Node.js utilizando el objetoprocess.env
.Para leer variables de entorno del sistema anfitrión, puede utilizar un bind mount para montar el archivo de variables de entorno del sistema anfitrión en el contenedor. Por ejemplo, si está ejecutando un contenedor basado en Linux, puede realizar un bind mount del archivo
/etc/environment
en su contenedor utilizando el siguiente comando:Esto hará que las variables de entorno del sistema anfitrión estén disponibles dentro del contenedor en la ruta
/etc/environment
. Luego, puede leer estas variables en su aplicación Node.js utilizandoprocess.env
.Tenga en cuenta que leer variables de entorno del sistema anfitrión puede representar riesgos de seguridad, ya que puede exponer información sensible al contenedor. Se recomienda solo acceder a las variables de entorno necesarias y asegurarse de que estén debidamente protegidas.