【问题标题】:Docker build fails on `add-apt-repository: not found`Docker 构建在 `add-apt-repository: not found` 上失败
【发布时间】:2017-09-21 01:19:38
【问题描述】:

我的 docker 构建失败:

 ---> Running in a0d2edd6bf20
/bin/sh: 1: add-apt-repository: not found    
The command '/bin/sh -c add-apt-repository ppa:jonathonf/ffmpeg-3 && apt-get update && apt install -y libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libavresample-dev ffmpeg libav-tools x264 x265' returned a non-zero code: 127

我已经研究过这个问题,它说要安装 software-properties-commonpython-software-properties

我就是这样做的,但错误仍然存​​在。到目前为止,这是我的 Dockerfile

FROM ubuntu:16.04

ENV HOME_DIR=/root

WORKDIR $HOME_DIR

RUN apt-get update && apt-get install -y \
    pkg-config \
    git \
    cmake \
    build-essential \
    nasm \
    wget \
    python3-setuptools \
    libusb-1.0-0-dev  \
    python3-dev \
    python3-pip \
    python3-numpy \
    python3-scipy \
    libglew-dev \
    libglfw3-dev \
    libtbb-dev \
    software-properties-common \
    python-software-properties 

RUN add-apt-repository ppa:jonathonf/ffmpeg-3 && \
    apt-get update && \
    apt install -y \
    libavformat-dev \
    libavcodec-dev \
    libavdevice-dev \
    libavutil-dev \
    libswscale-dev \
    libavresample-dev \
    ffmpeg \
    libav-tools \
    x264 \
    x265

【问题讨论】:

  • 我能够使用上面的 Dockerfile 构建你的镜像。 ---> 12de19f84786 移除中间容器 5f659f8446a0 构建成功 12de19f84786

标签: python docker dockerfile


【解决方案1】:

您可以使用现有的 Dockerfile 构建映像。我假设您在尝试构建 2 个单独的图像时遇到问题。

这是因为 add-apt-repository 在安装 software-properties-commonpython-software-properties 之前无法识别。

如果两次运行都在 Dockerfile 中,并且您使用
docker build -t mydockerimage . 构建映像
您不会看到任何问题,因为第二层/运行将建立在第一层之上,因此add-apt-repository 是可识别的,您不会遇到任何问题。

我希望这能回答您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 2014-12-10
    • 1970-01-01
    相关资源
    最近更新 更多