在Docker构build之后缺lessm2存储库
如果我运行一个docker build
,将maven依赖关系拉入到.m2版本库中,那么这个版本不会保留在图片中。
所以,如果我然后尝试我 tty到一个正在运行的容器,我的~/.m2/repository
目录将是空的。 或者ii)如果我在第一个图像上创build另一个图像,这些图层将不得不再次下载。
我的Dockerfile
内容在这里。
FROM maven:3.5.0-jdk-8-alpine RUN apk update \ && apk add ca-certificates \ && update-ca-certificates \ && apk add openssl \ bash \ git WORKDIR /app COPY . /app RUN mvn compile
我敢肯定,这是一个简单的docker工人的细节,我不理解。 任何人有任何见解吗?
@khmarbaise是的,你是对的。 我只需要在我的Dockerfile中指定一个VOLUME /root/.m2/repository
条目。 我也删除了caching容器和卷,只是为了确保。 如我所料,陛下够了,资料库就在那里。
所以我的Dockerfile现在看起来像这样。 我没有一个完整的docker卷的grokking。 但是,这一切现在是有道理的。 谢谢。
FROM maven:3.5.0-jdk-8-alpine RUN apk update \ && apk add ca-certificates \ && update-ca-certificates \ && apk add openssl \ bash \ git WORKDIR /app COPY . /app VOLUME /root/.m2/repository RUN mvn compile