如何构build与基础图像具有相同标记的泊坞窗图像?
我有一个案例,我想从一些基础图像创build一个泊坞窗图像做一些沿途的修改(和你一样),我正在寻找一些方法来保存基本的图像标签。
让我以一个例子来阐述。
我想用这个Dockerfilebuild立一个新的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
,就像原始的基础图像。
我知道我可以简单地从命令行标记一旦构build完成,但我正在寻找某种方式(如果存在),要么:
- 从Dockerfile中“提取”这个标签,所以我可以在docker
docker build -t
选项中使用它 - 将一些variables传入Dockerfile中,可以用来代替
5.5.2
图片标签
感谢您的帮助和想法!
你需要在你的docker文件中使用构build参数
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 .....