【问题标题】:create jenkins image with docker使用 docker 创建 jenkins 镜像
【发布时间】:2017-11-04 01:19:02
【问题描述】:

我想用 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

【问题讨论】:

    标签: docker jenkins dockerfile


    【解决方案1】:

    您需要记住,当您构建 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
    

    应该修复它。

    【讨论】:

      【解决方案2】:

      来自docs

      始终将 RUN apt-get update 与 apt-get install 结合使用 以RUN语句为例

      运行 apt-get update && apt-get install -y package-bar

      (...)

      在 RUN 语句中单独使用 apt-get update 会导致缓存问题 并且随后的 apt-get 安装说明失败。

      【讨论】:

      • 我改变了它(见上面的编辑条目),但我得到了同样的错误信息
      猜你喜欢
      • 2018-06-19
      • 2020-04-05
      • 2017-07-16
      • 2019-08-03
      • 2018-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多