[英]docker-compose .env vs direnv .envrc
这是基于此答案的评论链的替代解决方案
direnv 附带一个 stdlib ,可用于支持经典的“dotenv”设置
# myproject/.envrc
# dotenv <optionalPathToDotEnvFile>
dotenv
# myproject/.env
FOO=BAR
这在使用 docker 等支持 dotenv 风格的容器系统时特别有用
我使用以下设置在从.envrc
开发期间使用变量,但使用.envrc
docker-compose
文件进行部署:
在./secrets
定义变量,因为./secrets
-compose 需要它们(不导出):
foo=bar
secret_var=secret
...
在./envrc
它们导出到您的 shell:
#!bash
set -a
. ./secrets
set +a
set -a
使所有内容默认导出, set +a
之后将其关闭。
2022 年更新:除.envrc
文件外,direnv 现在还支持.env
文件。
像这样启用它:
$HOME/.config/direnv/direnv.toml
[global]
load_dotenv = true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.