我有一个能够工作的Dockerfile,但是如果我向apt-get install命令添加了任何新的依赖项,它就会失败。例如,这起作用是:
FROM debian:stable
RUN apt-get update
RUN apt-get install -y \
python \
...
apache2但如果我尝试这个,它就失败了:
FROM debian:stable
RUN apt-get update
RUN apt-get install -y \
python \
...
apache2
python-mysqldb我可以将python-mysqldb替换为其他任何东西,例如,git-core,它仍然会用相同的错误消息失败:
Unable to correct missing packages.
E: Failed to fetch http://security.debian.org/pool/updates/main/l/linux/linux-libc-dev_3.16.7-ckt11-1+deb8u5_amd64.deb 404 Not Found [IP: 149.20.20.6 80]
E: Aborting install.对于为什么添加一个新的依赖项会导致失败以及如何修复它,有什么想法吗?
发布于 2015-12-08 17:13:46
我发现您需要将update & install命令加入到同一个运行块中。
例:
RUN apt-get update \
&& apt-get install -y \
python \
...
apache2 \
python-mysqldb根据这个职位的描述
默认情况下,Docker缓存命令以减少生成映像的时间。除非在这些命令之前(或同一行)有任何更改。
同时,我注意到AWS实例将它们分开,就像您拥有它们一样。所以我不知道它在那里的效果是否不同。可能默认情况下,它们会禁用缓存。
https://stackoverflow.com/questions/34161840
复制相似问题