2017-02-10 37 views
0

我在docker容器中運行ubuntu 14.04並安裝了opencv。每次運行時,我都會收到以下錯誤:OpenCV: libdc1394 error: Failed to initialize libdc1394。鏈接的/ dev/null的設備文件的技術似乎工作,但它不是在泊塢窗容器執着,即使我有打開CV錯誤未能初始化raw1394持久碼頭

RUN ln /dev/null /dev/raw1394 
在我的搬運工文件

如果我運行像

docker-compose run <container> bash 

該錯誤將持續在該會話中。我可以將什麼行添加到我的docker文件中,以擺脫此錯誤消息?

回答

1

在Dockerfile中運行ln /dev/null /dev/raw1394不會幫助您,因爲/dev不是docker映像的一部分。你可以通過添加一個volume mount來解決這個問題。示例Dockerfiledocker-compose.yml看起來像這樣:

[[email protected] ~]$ 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/* 

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

[[email protected] ~]$ 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