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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

