我们使用direnv自动加载特定文件夹中的环境变量已经有一段时间了。从版本3开始,docker-compose似乎已经支持support .env files了。
direnv使用的.envrc文件使用export
export NODE_ENV=development
使用与docker-compose相同的文件似乎不起作用,只有在没有export的情况下,我才能获得变量的值。
NODE_ENV=development
关于如何将其统一到单个.env或.envrc文件中,或者作为direnv的替代文件,您有什么想法吗?
发布于 2019-11-15 01:04:48
这是一个基于this answer的注释链的替代解决方案
可用于支持经典'dotenv‘设置的direnv ships with a stdlib
# myproject/.envrc
# dotenv <optionalPathToDotEnvFile>
dotenv# myproject/.env
FOO=BAR这在使用支持dotenv样式的容器系统(如docker )时特别有用
发布于 2018-02-01 17:19:18
我使用以下设置使变量在开发过程中从.envrc可用,但使用docker-compose文件进行部署:
在./secrets中将您的变量定义为docker-compose需要它们(无需导出):
foo=bar
secret_var=secret
...在./envrc中,将它们导出到您的shell中:
#!bash
set -a
. ./secrets
set +a默认情况下,set -a会将所有内容导出,之后set +a会将其关闭。
https://stackoverflow.com/questions/47879565
复制相似问题