【问题标题】:How to pass arguments to a Dockerfile?如何将参数传递给 Dockerfile?
【发布时间】:2016-03-19 04:13:48
【问题描述】:

我在 Dockerfile 中使用 RUN 指令来安装 rpm

RUN yum -y install samplerpm-2.3

但是,我想将值“2.3”作为参数传递。 我的 RUN 指令应该类似于:

RUN yum -y install samplerpm-$arg

在哪里$arg=2.3

【问题讨论】:

    标签: docker dockerfile docker-compose docker-registry dockerhub


    【解决方案1】:

    从 Docker 1.9 开始,您正在寻找 --build-argARG 指令。

    查看this document for reference。这将允许您将ARG arg 添加到Dockerfile,然后使用

    docker build --build-arg arg=2.3 .
    

    【讨论】:

    • 完成所有这些操作后,我收到一个错误 **No package samplerpm-$arg available。 ** 2.3 的参数值似乎没有被替换。
    • 环境变量呢?
    • 环境变量是一个运行时变量。构建参数是一个 build 时间变量。此处的区别在于声明您只想用于构建映像而不希望(或不应该)为容器运行时存储的变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    相关资源
    最近更新 更多