Docker访问以太网设备

时间:2019-06-11 04:39:38

标签: docker docker-compose ueye

尝试从Docker容器访问uEye以太网摄像机,我可以成功地通过网络从主机访问它,但没有运气。

我正在使用docker-compose,其特权设置为true,如下所示

version: '3'

services:

  #Engineering UI Service
  web:
    build:
     context: .
     dockerfile: Dockerfile
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    expose:
      - 8000
    networks:
      - backend
    container_name: web
    privileged: true
    cap_add:
      - SYS_ADMIN
    restart: always
    tty: true
networks:
  backend:
      driver: bridge

Dockerfile已设置

FROM centos:7
# set environment varibles
USER root
ENV PYTHONUNBUFFERED 1

RUN yum -y update && yum -y install wget

# INSTALL CAMERA
RUN echo "Installing uEye camera" \
     && mkdir /uEye && cd /uEye \
     && wget http://test.com/uEye-Linux-4.90.06-64.tgz \
     && tar xvf uEye-Linux-4.90.06-64.tgz -C /uEye \
     && sh "ueyesdk-setup-4.90.06-eth-amd64.gz.run"
我在运行“ / usr / local / share / ueye / bin / ueyesetid”时在容器内

“未连接相机!”

1 个答案:

答案 0 :(得分:0)

我可以解决此问题的唯一方法是设置cap-add = ALL和-v / dev:/ dev。不建议使用此方法,因为它允许容器具有所有主机特权,但这是我可以通过以太网与摄像机进行通讯的唯一方法。