zoukankan      html  css  js  c++  java
  • Docker:Dockerfile中的变量

    通过关键字设置变量

    通过关键字ARGENV设置变量

    ARG arg1=test
    ENV env1=production
    

    注意:

    • 不能通过表达如$(uname -a)进行设置,只能设置为常量
    • 其中的差别,可以这么理解:
      • ARG设置的变量在构建完成后,就会丢失。即在Docker中无法引用该变量
      • ENV设置的变量在Docker中可以通过如${env1}访问

    在RUN中设置变量

    在RUN通过arg=someValue中设置变量,以下脚本先获取Debain的系统版本号,并设置到了os_release变量中,在后续的命令中可以通过${os_release}进行引用

    RUN os_release="$(cat /etc/os-release | grep VERSION_CODENAME | awk -F '=' '{print $2}')" &&
        echo "deb http://mirrors.aliyun.com/debian/ ${os_release} main non-free contrib
    
        deb http://mirrors.aliyun.com/debian-security ${os_release}/updates main
    
        deb http://mirrors.aliyun.com/debian/ ${os_release}-updates main non-free contrib
    
        deb http://mirrors.aliyun.com/debian/ ${os_release}-backports main non-free contrib
    "
        > /etc/apt/sources.list
    

    注意:

    • 一个RUN命令,相当于新打开一个Shell。所以上一个RUN设置的变量无法在下一个RUN中使用
  • 相关阅读:
    JavaEE XML SAX解析
    JavaEE XML DOM解析之DOM4J
    JavaEE XML DOM解析
    JavaEE XML StAX创建
    移动端弹窗后禁止滚动
    vue cli3 项目优化
    【性能优化】quicklink:实现原理与给前端的启发
    关于js异步的一些知识点
    node
    class类
  • 原文地址:https://www.cnblogs.com/testopsfeng/p/15184666.html
Copyright © 2011-2022 走看看