打开CV错误无法初始化raw1394持久存在于docker中

时间:2017-02-10 00:25:51

标签: python opencv docker

我在docker容器中运行ubuntu 14.04并安装了opencv。每次运行时,我都会收到以下错误:OpenCV: libdc1394 error: Failed to initialize libdc1394。将/ dev / null链接到设备文件的技术似乎有效,但它在docker容器中并不持久,即使我有

/*
如果我运行类似

的话,在我的docker文件中

RUN ln /dev/null /dev/raw1394

错误将在该会话中持续存在。我可以添加到我的docker文件中哪一行可以清除此错误消息?

1 个答案:

答案 0 :(得分:1)

在Dockerfile中运行ln /dev/null /dev/raw1394不会帮助您,因为/dev不是docker镜像的一部分。你可以通过添加volume mount来解决这个问题。示例Dockerfiledocker-compose.yml如下所示:

[fedora@myhost ~]$ cat Dockerfile 
FROM ubuntu:14.04
RUN apt-get update && \
    apt-get install -y \
        libdc1394-22-dev \
        libdc1394-22 \
        libdc1394-utils \
        python-opencv && \
    rm -rf /var/lib/apt/lists/*

[fedora@myhost ~]$ cat docker-compose.yml 
version: '2'
services:
  opencv:
    build: .
    command: python -c "import cv2; print cv2.__version__"
    volumes:
      - /dev/null:/dev/raw1394

[fedora@myhost ~]$ sudo docker-compose up  
Recreating fedora_opencv_1
Attaching to fedora_opencv_1
opencv_1  | 2.4.8
fedora_opencv_1 exited with code 0