Docker Debian安装失败
我有一个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
例如,我可以使用其他任何东西replacepython-mysqldb
,并且它仍然会失败,并显示相同的错误信息:
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.
任何想法为什么添加一个新的依赖导致失败和如何解决它?
我发现你需要将update&install命令join到同一个RUN块中。
例如:
RUN apt-get update \ && apt-get install -y \ python \ ... apache2 \ python-mysqldb
根据这个post来描述这个问题
默认情况下,Dockercaching您的命令,以减less花费在构build图像上的时间。 除非在这些命令(或在同一行)之前有任何改变。
同时,我注意到AWS示例将它们分开,就像您拥有它们一样。 所以我不知道如果它在那里工作不同。 也许他们默认禁用caching。