Докер: Как использовать Тома для настольных приложений - PullRequest
0 голосов
/ 14 мая 2019

Давайте рассмотрим пример.Здесь я пытаюсь прочитать изображение и записать его во временную папку, используя opencv.Я хочу поместить это настольное приложение в Docker и сохранить вывод, используя объем Docker.Из томов я хочу сохранить выходные данные на своем локальном компьютере.

Для постановки задачи я назначил том контейнеру, чтобы я мог сохранить выходные данные.Когда я запускаю код, он исполняется, но я не понимаю, как сохранить на локальную машину.

Это DockerFile для примера opencv:

FROM python:3.7

RUN apt-get update \
    && apt-get install -y \
        build-essential \
        cmake \
        git \
        wget \
        unzip \
        yasm \
        pkg-config \
        libswscale-dev \
        libtbb2 \
        libtbb-dev \
        libjpeg-dev \
        libpng-dev \
        libtiff-dev \
        libavformat-dev \
        libpq-dev \
    && rm -rf /var/lib/apt/lists/*

RUN pip install numpy

ENV OPENCV_VERSION="4.1.0"
RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip \
&& unzip ${OPENCV_VERSION}.zip \
&& mkdir /opencv-${OPENCV_VERSION}/cmake_binary \
&& cd /opencv-${OPENCV_VERSION}/cmake_binary \
&& cmake -DBUILD_TIFF=ON \
  -DBUILD_opencv_java=OFF \
  -DWITH_CUDA=OFF \
  -DWITH_OPENGL=ON \
  -DWITH_OPENCL=ON \
  -DWITH_IPP=ON \
  -DWITH_TBB=ON \
  -DWITH_EIGEN=ON \
  -DWITH_V4L=ON \
  -DBUILD_TESTS=OFF \
  -DBUILD_PERF_TESTS=OFF \
  -DCMAKE_BUILD_TYPE=RELEASE \
  -DCMAKE_INSTALL_PREFIX=$(python3.7 -c "import sys; print(sys.prefix)") \
  -DPYTHON_EXECUTABLE=$(which python3.7) \
  -DPYTHON_INCLUDE_DIR=$(python3.7 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
  -DPYTHON_PACKAGES_PATH=$(python3.7 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
  .. \
&& make install \
&& rm /${OPENCV_VERSION}.zip \
&& rm -r /opencv-${OPENCV_VERSION}
RUN ln -s \
  /usr/local/python/cv2/python-3.7/cv2.cpython-37m-x86_64-linux-gnu.so \
  /usr/local/lib/python3.7/site-packages/cv2.so

WORKDIR /opencv_example
COPY . .

Мне нужна помощь, чтобы понять, как тома Docker используются для настольных приложений, и код для сохранения вывода тома в локальном формате.путь.

1 Ответ

0 голосов
/ 14 мая 2019

Как вы запускаете контейнер? Вставьте вашу команду.

Если вы используете Windows, вам нужно включить общие диски в настройках Docker, а затем запустить свой контейнер, как написано ниже. Если вы используете MacOS или Linux, вам нужно только выполнить команду. (Учитывая, что у вас, вероятно, есть и другие флаги)

docker run -v <path-on-host>:<path-inside-container> <image-name>

Для получения дополнительной справки проверьте эту ссылку .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...