【问题标题】:Update dockerfile image without downloading dependencies在不下载依赖项的情况下更新 dockerfile 映像
【发布时间】:2018-02-17 21:07:00
【问题描述】:

我是 docker 新手。我使用图像 debian 来托管 J2EE 应用程序。

FROM debian

WORKDIR /app

ADD . /app

RUN apt-get update && apt-get --assume-yes install \
    default-jre \
    default-jdk \
    maven

RUN mvn clean install

CMD ["mvn", "ninja:run"]

我通过这样做来构建我的图像:

docker build . -t rssaggregator

假设我添加了一个新的依赖项来下载。如何在不重新下载依赖项的情况下更新和构建镜像?

感谢您的帮助!

【问题讨论】:

    标签: java docker debian


    【解决方案1】:

    如果您在主安装之后在单独的 RUN 语句中添加依赖项(并且不要更改上面的任何 Dockerfile),Docker 将使用缓存层并且不会下载未修改的层除非您在构建中指定 --no-cache(如果您想更新主要安装/层,您可能希望在某个时候这样做)。

    您可能还想指定 JRE 和 JDK 安装的版本,以便知道它正在使用哪个版本,然后您可以更改这些版本以简化更新。

    dockerfile_best-practices。您可能还想尝试multi-stage build,以获取在基础映像上构建的更高级方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      相关资源
      最近更新 更多