Docker保留ENV变量

时间:2015-10-11 18:07:07

标签: docker

我使用--env VAR="foo"运行一个docker容器来设置一些变量。当我在这个正在运行的容器上从我启动容器的同一个shell /环境中运行命令时,一切都很好。

问题是现在我想从cron对这个容器运行命令。当cron运行相同的命令时,容器中的ENV变量不再存在。

如何将这些ENV变量保存在容器中,无论从何处访问它?

编辑: 为了澄清,我docker run来自标准shell。在cron工作中,我使用docker exec,这就是ENV vars消失的时候。

我还注意到一些主机我无法在cron作业的docker容器上执行任何操作。

1 个答案:

答案 0 :(得分:0)

我假设您在cron任务中使用docker exec

如果那是正常的情况。您正在从同一图像开始一个新容器。

如果您想使用同一个容器(设置了所有env变量),可以使用SELECT A.ename FROM (emp NATURAL JOIN dept) A;

https://docs.docker.com/reference/commandline/exec/