Compose: env_file interpolando vars de .env y shell de la misma manera que lo hace el entorno

Creado en 11 sept. 2016  ·  3Comentarios  ·  Fuente: docker/compose

Tengo algunas variables de configuración definidas en el archivo ".env".
Entonces, si puedo usarlos así en mi archivo de composición yml:

  environment:
   - VAR=${VAL_FROM_ENV}
  env_file:
    - etc/environment.yml

¿Por qué no puedo usar esto en mi entorno.yml?

DEMO_VAR='${VAL_FROM_ENV}'

Veo env_file como una extensión del campo de entorno en un archivo , y también tiene mucho sentido adherirse a la anulación de shell vars.

Para mí tiene sentido que el archivo .env sea para Compose y environment/env_file para docker-containers.
También tiene mucho sentido para mí que las terminales env vars anulen las de .env.

Creo que es genial que pueda tener muchos archivos env.yml o solo uno y reutilizarlo. Hacer que funcione de la misma manera que un campo de entorno vars haría que todo compusiera drásticamente más dinámico e interconectado (y no está pasando todo a todas partes). Y no tendría que volver a escribir todo en muchos lugares diferentes.

Antecedentes: estoy orquestando el entorno de desarrollo en Mac con docker machine/compose (anteriormente con vagrant) y he estado buscando una manera de mantener todas las configuraciones importantes por aplicación en un archivo (donde la aplicación se ejecuta en alguna pila definida en el archivo de composición), que En mi humilde opinión, hace la vida más fácil al tratar con muchos proyectos/desarrolladores. Además, realmente no me gusta codificar datos confidenciales en diferentes archivos de configuración.

He estado siguiendo la discusión sobre # 3435 (Interpolar variables establecidas por entorno o env_file) y aunque lo quiero mucho, no creo que componer archivo yml sea un buen lugar para definir vars para usar en otro lugar (¿en archivos de composición/docker? ) porque eso conduciría a una mezcla completamente ilegible de vars (¿quién está configurando o leyendo desde dónde?).

Gracias. :)

versión docker-compose
docker-compose versión 1.8.0, compilación desconocida
versión docker-py: 1.9.0
Versión de Python: 2.7.10
Versión de OpenSSL: OpenSSL 0.9.8zh 14 de enero de 2016

stale

Comentario más útil

Implementación realmente inconsistente sin tener esta parte funcionando.

Todos 3 comentarios

Implementación realmente inconsistente sin tener esta parte funcionando.

Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.

Este problema se cerró automáticamente porque no tuvo actividad reciente durante el período de inactividad.

¿Fue útil esta página
0 / 5 - 0 calificaciones