我有一个带有以下dockerfile的简单docker镜像:
FROM python:2.7-onbuild
RUN python -m nltk.downloader 'punkt'
每当构建此映像时,它都会从nltk下载包。我该如何缓存它?
答案 0 :(得分:1)
这是预期的。我看到两个选择:
python:2.7-onbuild
)并将其用于您的图像。尝试类似this one之类的东西。答案 1 :(得分:0)
线索是FROM行中的“ onbuild”:程序包正在执行额外的指令,其中可能包括以下内容:
ONBUILD ADD . /app/src
ONBUILD RUN /usr/local/bin/python-build --dir /app/src
导致当前目录中的所有文件,特别是包括您已更改的文件-例如您的Dockerfile,除非您已使用.dockerignore排除了该文件-将其拉入映像,然后构建。
不幸的是,Docker无法以有意义的方式显示导致高速缓存未命中的原因,但是散列没有“附近”的概念。