gpt4 book ai didi

docker - 如何构建与基础镜像具有相同标签的Docker镜像?

转载 作者:行者123 更新时间:2023-12-02 19:08:09 26 4
gpt4 key购买 nike

我有一种情况,我想从一些基础镜像创建docker镜像,并在此过程中进行一些修改(就像您所做的一样),并且我正在寻找某种方法来保留基础镜像标签。

让我举例说明。

我想使用此Dockerfile构建一个新的logstash镜像:

FROM docker.elastic.co/logstash/logstash:5.5.2
RUN /opt/logstash/bin/logstash-plugin install logstash-input-jdbc
RUN mkdir /opt/logstash/vendor/jdbc
RUN curl -Lo /opt/logstash/vendor/jdbc/postgresql-42.1.1.jar https://jdbc.postgresql.org/download/postgresql-42.1.1.jar

我希望生成的图像也以标签 5.5.2结尾,就像原始基础图像一样。

我知道构建完成后就可以从命令行中对其进行标记,但是我正在寻找某种方法(如果存在):
  • 从Dockerfile中“提取”此标签,因此我可以在docker build -t选项
  • 中使用它
  • 将一些变量传递到Dockerfile中,该变量可以代替5.5.2图像标签

  • 感谢您的帮助和想法!

    最佳答案

    您需要在docker文件中使用构建参数

    ARG LOGSTASH_VERSION
    FROM docker.elastic.co/logstash/logstash:${LOGSTASH_VERSION}
    RUN /opt/logstash/bin/logstash-plugin install logstash-input-jdbc
    RUN mkdir /opt/logstash/vendor/jdbc
    RUN curl -Lo /opt/logstash/vendor/jdbc/postgresql-42.1.1.jar https://jdbc.postgresql.org/download/postgresql-42.1.1.jar

    然后使用docker build命令行传递值
    docker build --build-arg LOGSTASH_VERSION=5.5.2 .....

    关于docker - 如何构建与基础镜像具有相同标签的Docker镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46070018/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com