我想用dockerfile创建一个jenkins图像。 Docker正在运行(尝试使用hello-world图像)。
我的Dockerfile:
FROM jenkins:latest
USER root
RUN apt-get update && apt-get install -y build-essentials
USER jenkins
我想使用此命令构建图像
sudo docker build -t "jenkins_master" .
但我总是得到这个错误:
E: Unable to locate package build-essentials
The command '/bin/sh -c apt-get install build-essentials' returned a non-zero code: 100
我试过了:
sudo service docker restart
sudo rm / var / lib / apt / lists / * -vf
但没有任何作用。我正在使用Ubuntu 16.04 LTS
答案 0 :(得分:4)
您需要记住,在构建Docker镜像时,这些命令在Docker容器中运行。因此,在本地计算机上运行命令不太可能解决问题。
我认为该软件包名为build-essential
而不是build-essentials
(请注意,您在软件包名称的末尾有额外的' s)。
因此将Dockerfile更改为:
FROM jenkins:latest
USER root
RUN apt-get update && apt-get install -y build-essential
USER jenkins
应该修理它。
答案 1 :(得分:0)
来自docs
始终将RUN apt-get update与apt-get install结合使用 RUN语句,例如
运行apt-get update&& apt-get install -y package-bar
(...)
在RUN语句中单独使用apt-get update会导致缓存问题 以及随后的apt-get安装说明失败。