我在docker容器中运行ubuntu 14.04并安装了opencv。每次运行时,我都会收到以下错误:OpenCV: libdc1394 error: Failed to initialize libdc1394。将/ dev / null链接到设备文件的技术似乎有效,但它在docker容器中并不持久,即使我有
/*
如果我运行类似的话,在我的docker文件中
RUN ln /dev/null /dev/raw1394
错误将在该会话中持续存在。我可以添加到我的docker文件中哪一行可以清除此错误消息?
答案 0 :(得分:1)
在Dockerfile中运行ln /dev/null /dev/raw1394
不会帮助您,因为/dev
不是docker镜像的一部分。你可以通过添加volume mount
来解决这个问题。示例Dockerfile
和docker-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