如何在docker中重命名导出的环境变量

时间:2016-08-10 20:50:52

标签: docker environment-variables

想象一下,我正在等待

的容器中有一个应用程序(我无法修改代码源本身)
  • DB_USR
  • DB_HOST
  • DB_PASSWD
  • DB_NAME

作为环境变量来连接MySQL数据库 所以我将这个容器链接到一个MySQL容器

但导出到我的应用程序容器的MySQL容器中的环境变量名称不匹配。

现在,我发现这样做的唯一方法是将应用程序二进制文件包装到bash脚本中,并导出环境变量以进行匹配。

docker是否提供任何标准/更好的映射?

1 个答案:

答案 0 :(得分:0)

您是否尝试使用以下命令在docker中运行应用程序:

docker run -d \
  -e DB_HOST=${MY_OWN_ENV_HOSTNAME} \
  -e DB_USR=${MY_OWN_ENV_USERNAME} \
  -e DB_PASSWD=${MY_OWN_ENV_PASSWORD} \
  -e DB_NAME=${MY_OWN_ENV_DBNAME} \
  your-application-container

当然还有运行所需的其他参数。

或者,您可以使用环境变量创建文件env.txt:

# Definitions of environment variables
DB_HOST=${MY_OWN_ENV_HOSTNAME}
DB_USR=${MY_OWN_ENV_USERNAME}
DB_PASSWD=${MY_OWN_ENV_PASSWORD}
DB_NAME=${MY_OWN_ENV_DBNAME}

然后使用命令

在docker中运行应用程序
docker run -d --env-file ./env.txt your-application-container