我的 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-common 或 python-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 构建镜像。我假设您在尝试构建 2 个单独的图像时遇到问题。
那是因为 add-apt-repository 在 software-properties-common 或 python-software-properties 之前是无法识别的安装。
如果两次运行都在一个 Dockerfile 中,并且您使用
构建了一个镜像 docker build -t mydockerimage .
你不会看到任何问题,因为第二层/运行将建立在第一层之上,所以 add-apt-repository 是可识别的,你不会有任何问题。
我希望这能回答您的问题。
