我在docker上安装了Ubuntu 14.04镜像。在那之后,当我尝试在ubuntu映像中安装包时,我无法定位包错误:

apt-get install curl

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package curl

如何修复这个错误?


当前回答

在Dockerfile中增加如下命令:

RUN apt-get update

其他回答

当我尝试安装jre时,我也遇到过同样的问题 而且 我尝试了“apt-get update”命令,然后 重新尝试“apt install default-jre” 它成功了!

希望它能帮到你,好运!

2017年5月2018年2019年2020年2021年2022年的文件

总是把RUN apt-get update和apt-get install结合在一起 例如,RUN语句 运行apt-get update && apt-get install -y package-bar (…) 在RUN语句中单独使用apt-get update会导致缓存 问题和后续apt-get安装指示失败。 (…) 使用RUN apt-get update && apt-get install -y确保您的Dockerfile安装最新的包版本,无需进一步编码或手动干预。这种技术被称为“缓存破坏”。

在Dockerfile中增加如下命令:

RUN apt-get update

因为映像中没有包缓存,所以需要运行:

apt-get update

在安装包之前,如果你的命令在Dockerfile中,你需要:

apt-get -y install curl

要抑制命令的标准输出,请使用-qq。如。

apt-get -qq -y install curl

这个问题已经得到了回答,但我早些时候遇到了这个问题,这些步骤都不起作用。

事实证明,问题是我在一个单独的文件中保存了一个要安装的包列表。这是保存在windows机器上的CRLF行分隔符(\r\n而不仅仅是\n)。在已接受的答案中提供的步骤之上强制将行结束符仅设置为\n就解决了这个问题。