选项-e,–env
-e是–env的简写,可以在使用docker run命令时,为要创建的容器提供环境变量。
例1:
请看下面的bash指令,该指令使用docker run运行boystar/ubantu容器,并使用–env设置VAR1和VAR2两个环境变量,并使用grep查找符合VAR的环境变量。
docker run --env VAR1=value1 --env VAR2=value2 boystar/ubantu env | grep VAR
结果如下:
VAR1=value1
VAR2=value2
例2:
-e也可以将宿主机的环境变量导入到容器中去,代码示例如下:
export VAR10=value10
export VAR20=value20
docker run -e VAR10 --env VAR20 boystar/ubantu env | grep VAR
结果如下:
VAR10=value10
VAR20=value20
当然,要导入的变量若是没设值,容器中该变量将不会被设置。
选项–env-file
顾名思义,这个选项可以将提供给它的一个文件中的环境变量设置给容器。
上图是我创建的一个env-file文件,该文件设定了两个变量VAR100和VAR200,并将USER这个获取当前用户名的变量写入文件。那么再来一次指令来测试效果:
docker run --env-file env-file boystar/ubantu env | grep -E 'VAR|USER'
结果如下:
VAR100=value100
VAR200=value200
USER=root
备注:
- env-file文件名任意取,叫什么都可以。
- 以#开头的行会被视为注释而被忽略,其它位置的#会被作为变量的一部分。