首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker-compose .env vs direnv .envrc

docker-compose .env vs direnv .envrc
EN

Stack Overflow用户
提问于 2017-12-19 11:20:18
回答 2查看 6.8K关注 0票数 10

我们使用direnv自动加载特定文件夹中的环境变量已经有一段时间了。从版本3开始,docker-compose似乎已经支持support .env files了。

direnv使用的.envrc文件使用export

export NODE_ENV=development

使用与docker-compose相同的文件似乎不起作用,只有在没有export的情况下,我才能获得变量的值。

NODE_ENV=development

关于如何将其统一到单个.env.envrc文件中,或者作为direnv的替代文件,您有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-15 01:04:48

这是一个基于this answer的注释链的替代解决方案

可用于支持经典'dotenv‘设置的direnv ships with a stdlib

代码语言:javascript
复制
# myproject/.envrc
# dotenv <optionalPathToDotEnvFile>
dotenv
代码语言:javascript
复制
# myproject/.env
FOO=BAR

这在使用支持dotenv样式的容器系统(如docker )时特别有用

票数 11
EN

Stack Overflow用户

发布于 2018-02-01 17:19:18

我使用以下设置使变量在开发过程中从.envrc可用,但使用docker-compose文件进行部署:

./secrets中将您的变量定义为docker-compose需要它们(无需导出):

代码语言:javascript
复制
foo=bar
secret_var=secret
...

./envrc中,将它们导出到您的shell中:

代码语言:javascript
复制
#!bash
set -a
. ./secrets
set +a

默认情况下,set -a会将所有内容导出,之后set +a会将其关闭。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47879565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档