我是 jetty worker 的新手。我使用 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 构建。 -t rssaggregator
假设我添加了一个新的依赖项来下载。如何在不再次下载依赖项的情况下更新和构建镜像?
感谢您的帮助!
最佳答案
如果您在主安装之后在单独的 RUN 语句中添加依赖项(并且不更改上面的任何 Dockerfile),Docker 将使用缓存的层并且不会下载未修改的层除非您在构建中指定 --no-cache (如果您想更新主要安装/层,您可能希望在某个时候执行此操作)。
您可能还需要指定 JRE 和 JDK 安装的版本,以便知道它正在使用哪个版本,然后您可以更改这些版本以使更新更容易。
参见dockerfile_best-practices 。您可能还想尝试 multi-stage build了解在基础镜像上构建的更高级方法。
关于java - 更新 dockerfile 镜像而不下载依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845937/