zoukankan      html  css  js  c++  java
  • Dockerfile(7)

    ENV

    定义环境变量

    ENV <key>=<value> ...
    
    # 但只能设置一个环境变量
    ENV MY_VAR my-value

    使用环境变量

    通过 ENV 指令可以声明环境变量,可以在以下指令中使用环境变量

    • ADD
    • COPY
    • ENV
    • EXPOSE
    • FROM
    • LABEL
    • STOPSIGNAL
    • USER
    • VOLUME
    • WORKDIR
    • ONBUILD

    使用环境变量的方式

    有两种

    • $variable_name
    • ${variable_name}

    ${variable_name} 语法还支持以下指定的一些标准 bash 修饰符

    • ${variable:-word}:表示如果设置了 variable,那么结果就是那个值;如果未设置变量,则结果将是 word
    • ${variable:+word}:表示如果设置了 variable,则结果为 word,否则为空字符串
    • 在所有情况下, word 可以是任何字符串,包括额外的环境变量

    简单栗子

    FROM busybox
    ENV FOO=/bar
    WORKDIR ${FOO}   # WORKDIR /bar
    ADD . $FOO       # ADD . /bar
    COPY $FOO /quux # COPY $FOO /quux

      

    覆盖环境变量的栗子

    ENV abc=hello
    ENV abc=bye def=$abc
    ENV ghi=$abc

    def 的值是 hello,ghi 的值是 bye

    注意

    • 当容器从生成的镜像运行时,使用 ENV 设置的环境变量将持续存在
    • 可以使用 docker inspect 查看值,并使用 docker run --env <key>=<value> 更改它们

    实际栗子

    dockerfile

    FROM nginx
    EXPOSE 80
    ENV test=test1234

    构建镜像,启动容器,inspect 查看

    docker build -f test.dockerfile -t test2 .
    
    docker run -it -d -P test2
    
    docker inspect 120b

    通过 ENV 设置的环境变量是会保留到容器中的

  • 相关阅读:
    09.安装Collabora Online服务
    08.nextcloud搭建
    07.安装及使用gitlub
    winmerge vs2010
    C#中时间计算汇总
    JS正则表达式大全 转
    js 验证正则
    js验证大全
    CSC 命令编译cs文件
    网站PV、UV以及查看方法(转)
  • 原文地址:https://www.cnblogs.com/poloyy/p/15470044.html
Copyright © 2011-2022 走看看