docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker配置环境变量

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文