程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么在FROM中之后在Dockerfile中不能再次使用build arg?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决为什么在FROM中之后在Dockerfile中不能再次使用build arg??

开发过程中遇到为什么在FROM中之后在Dockerfile中不能再次使用build arg?的问题如何解决?下面主要结合日常开发的经验,给出你关于为什么在FROM中之后在Dockerfile中不能再次使用build arg?的解决方法建议,希望对你解决为什么在FROM中之后在Dockerfile中不能再次使用build arg?有所启发或帮助;

实际差异取决于您将ARG与FROM行相关的位置:

  • 可以在任何FROM行中使用第一个FROM之前的任何ARG
  • 在构建阶段(在FROM之后)中的任何ARG都可以在该构建阶段中使用
  • @H_616_9@

    这与构建阶段的机制有关,可以在此处找到一些实际行为参https ://github.com/docker/cli/pull/333,以及有关文档和构建机制为何在ARG使用上有些混乱的讨论在这里:https ://github.com/moby/moby/issues/34129

    解决方法

    我正在使用Docker
    18.05.0~ce~3-0~ubuntu,我想将构建参数传递给FROM和Dockerfile中的其他行。您希望以下内容能起作用:

    ARG FROM_IMAGE=ubuntu:bionic
    FROM $FROM_IMAGE
    
    COPY sources_list/$FROM_IMAGE /etc/apt/sources.list
    

    它适用于第二行(FROM),但其行为类似于未在该COPY行中设置:

    如果添加另一个单独的build arg,则它适用于同一COPY行:

    ARG FROM_IMAGE=ubuntu:bionic
    FROM $FROM_IMAGE
    
    ARG sourcES_LIST_FILE
    COPY sources_list/${sourcES_LIST_FILE} /etc/apt/sources.list
    

    为什么我不能FROM_IMAGEFROM一行和一行之后两次使用build arg ?我找不到任何记录在案的这种限制。

    大佬总结

    以上是大佬教程为你收集整理的为什么在FROM中之后在Dockerfile中不能再次使用build arg?全部内容,希望文章能够帮你解决为什么在FROM中之后在Dockerfile中不能再次使用build arg?所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。