重用Docker Compose .env文件中的现有环境变量

时间:2019-04-04 08:58:56

标签: docker docker-compose

我参与了Docker Compose项目,我们利用了.env文件的可能性。但是,我发现在构造另一个环境变量时不能重用一个环境变量,也不能重用现有的OS级环境变量。

例如,这不起作用:

VIRTUAL_HOST=domain.com
LETSENCRYPT_HOST=${VIRTUAL_HOST}
LETSENCRYPT_EMAIL=contact@${VIRTUAL_HOST}

有什么办法解决吗?

1 个答案:

答案 0 :(得分:0)

创建类似于以下内容的输入脚本:

#!/usr/bin/env bash
set -e

# Run a substitution because docker don't support nesting variables
export LETSENCRYPT_HOST=$(echo ${LETSENCRYPT_HOST} | envsubst)
export LETSENCRYPT_EMAIL=$(echo ${LETSENCRYPT_EMAIL} | envsubst)

exec "$@"