docker如何配置环境变量
作者:**星光*
这篇文章主要介绍了docker如何配置环境变量问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
docker配置环境变量
1、在 Dockerfile 中使用 ENV 指令设置环境变量
格式有两种:
ENV key value ENV key1=value1 key2=value2
1、key value ENV PYTHON_VERSION 3.5.3 2、key=value ENV name1=ping name2=on_ip 3、换行 ENV VERSION=1.0 DEBUG=on \ NAME="Happy Feet" 4、在 Dockerfile 中使用 $NODE_VERSION $PYTHON_VERSION
2、在 docker run 命令中设置环境变量
docker run --env -e
示例
docker run -e VAR1=value1 --env VAR2=value2 ubuntu docker run --env VAR1=value1 --env VAR2=value2 ubuntu
You can also use variables that you’ve exported to your local environment:
export VAR1=value1 export VAR2=value2 $ docker run --env VAR1 --env VAR2 ubuntu env | grep VAR VAR1=value1 VAR2=value2
docker run --env-file
使用文件作为环境变量,.env 文件如下:
# This is a comment VAR1=value1 VAR2=value2 USER # which takes the value from the local environment
运行示例:
docker run --env-file .env ubuntu
3、查看环境变量
docker inspect <CONTAINER-NAME> OR <CONTAINER-ID>
docker注入环境变量且设置多个环境变量
方式一
运行docker命令修改
在运行docker时,直接使用-e或–env,输入需要改变的变量
例如:
springboot配置文件如下,可注入环境变量启动端口SERVER_PORT,以及启动配置文件NODE_ENV:dev
server: port: ${SERVER_PORT:8400} spring: application: name: @project.artifactId@ profiles: active: - ${NODE_ENV:dev} redis: database: 2
启动命令注入如下:
docker run -it -e SERVER_PORT=9080 -d 容器id
替换多个如下:
docker run -it -e SERVER_PORT=9080 -e NODE_ENV=prod -d 容器id
方式二
在你的Dockerfile中直接写入环境变量 # default env ENV NODE_ENV dev ENV SERVER_PORT 8400
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。