我希望使用一个Dockerfile既用于生产环境又用于开发环境。唯一的区别在于我设置的环境变量。因此我想从文件中导入环境变量。在使用Docker之前,我只需执行以下操作:
. ./setvars
./main.py
然而,如果将./main.py
替换为Docker等效物
. ./setvars
docker run .... ./main.py
如果这样做,变量将在主机上而无法从Docker实例中访问。当然,一个快速且简单的解决方法是创建一个文件,其中包含
#!/bin/bash
. ./setvars
./main.py
那么在实例中运行。但这将非常烦人,因为我有很多脚本想要运行(具有相同的环境变量),然后将不得不为每个脚本创建一个额外的脚本。
是否有其他解决方案可以在docker中获取我的环境变量而不使用不同的Dockerfile和上述方法?
--env-file
非常完美,我的设置文件只需要进行最小的更改。谢谢! - Smarties89