2017-09-21 1 views
1

Mon build docker échoue sur:build Docker échoue sur `add-apt-repository: non found`

---> 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 

J'ai étudié le problème et il dit à installer soit software-properties-common ou python-software-properties

I fait exactement cela, mais l'erreur persiste toujours. Voici mon Dockerfile jusqu'à ce point

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 
+0

J'ai été capable de construire votre image avec le Dockerfile ci-dessus. ---> 12de19f84786 Retrait du conteneur intermédiaire 5f659f8446a0 Intégration réussie 12de19f84786 – Kyle

Répondre

0

Vous pouvez construire une image en utilisant la Dockerfile actuelle que vous avez. Je suppose que vous rencontrez un problème lorsque vous essayez de créer deux images distinctes. C'est parce que add-apt-repository ne sera pas reconnaissable tant qu'il n'y aura pas software-properties-common ou python-software-properties installé.

Si les deux pistes sont dans un Dockerfile et vous construisez une image en utilisant
docker build -t mydockerimage .
Vous ne verrez pas de problème, car la deuxième couche/run va construire au-dessus de la première, de sorte que le add-apt-repository est reconnaissable et vous n'aura aucun problème.

J'espère que cela répond à votre requête.