команда вернула ненулевой докер с кодом 100

Я пытаюсь установить OpenVino на свою малину с помощью Docker.

У меня есть этот Dockerfile:

FROM raspbian/stretch

ARG INSTALL_DIR="/opt/intel/inference_engine_vpu_arm"

RUN apt-get -y update \
    && DEBIAN_FRONTEND=noninteractive && apt-get -y upgrade && apt-get autoremove && \
    apt-get install -y \
    apt-transport-https \
        build-essential \
    cmake \
        cpio \
        lsb-release \
        pciutils \
        python3.5 \
        python3.5-dev \
        python3-pip \
        python3-setuptools \
    ffmpeg \
    libjpeg-dev \
        libtiff5-dev \
        libjasper-dev \
        libpng12-dev \
        libavcodec-dev \
        libavformat-dev \
        libswscale-dev \
        libv4l-dev \
        libxvidcore-dev \
        libx264-dev \
        libgtk2.0-dev \
        libgtk-3-dev \
        libatlas-base-dev \
        gfortran \
        libgstreamer1.0-0 \
        libgstreamer-plugins-base1.0-0

RUN usermod -a -G users "$(whoami)"

COPY inference_engine_vpu_arm $INSTALL_DIR 

RUN sed -i "s|<INSTALLDIR>|$INSTALL_DIR|" $INSTALL_DIR/bin/setupvars.sh && \
    echo "source $INSTALL_DIR/bin/setupvars.sh" >> $HOME/.bashrc

RUN ["/bin/bash", "-c", "source $INSTALL_DIR/bin/setupvars.sh && /bin/bash $INSTALL_DIR/install_dependencies/install_NCS_udev_rules.sh"]

RUN pip3 install numpy

RUN apt autoremove -y && \
    rm -rf  /var/lib/apt/lists/*

CMD ["/bin/bash"]

Но у меня есть эта ошибка, когда я пытаюсь построить:

E: Невозможно исправить проблемы, у вас есть сломанные пакеты. Команда '/bin/sh -c apt-get -y update..... вернула ненулевой код: 100

Есть ли у вас какие-либо идеи? Спасибо


person hteo    schedule 22.06.2019    source источник


Ответы (1)


После некоторого поиска в Google кажется, что ошибка возникает из-за того, что демон apt не может подключиться к настроенным репозиториям. Вероятно, это связано с тем, что базовый образ какое-то время не обновлялся, как я вижу на Docker Hub.

Если вы не знакомы с доступными репозиториями, вы можете легко создать их с помощью онлайн-инструментов, таких как: https://debgen.simplylinux.ch/index.php?generate

Вы можете поместить их в образ докера с помощью простой команды COPY, например

COPY sources.list /etc/apt/sources.list

где первый аргумент относится к локальному файлу, второй — к образу докера

person Tamas    schedule 22.06.2019
comment
мне не удалось воспроизвести его локально. Где это изображение на самом деле выполняется? Контейнеры используют мост докеров по умолчанию? Докер-мост по умолчанию может получить доступ к Интернету? - person Tamas; 24.06.2019
comment
Как я могу проверить, используют ли контейнеры мост докеров по умолчанию? - person hteo; 25.06.2019
comment
Для этого есть встроенная команда. Используйте docker network ls, и он отобразит список созданных сетевых интерфейсов для контейнера. Вы можете получить более подробную информацию о том, что использует интерфейс, с помощью команды docker network inspect. Вы должны иметь возможность идентифицировать контейнеры на основе их идентификатора. - person Tamas; 26.06.2019