Docker构build在`add-apt-repository:not found`上失败

我的dockerbuild设失败:

---> 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来构build图像。 我假设你有一个问题,当你试图build立两个单独的图像。

这是因为只有在安装了software-properties-commonpython-software-properties之前, add-apt-repository才会被识别。

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

我希望这回答您的查询。