在 Docker 中安装 Zivid

先决条件

在 Docker 容器中安装 Zivid 软件的说明取决于您运行的硬件。请按照适用于您的设置的说明进行操作。

备注

目前 支持 Windows,因为 Docker 容器中的 Windows 上不完全支持 OpenCL。因此,这些说明仅适用于 Ubuntu。

如果您使用的是 Intel GPU,则主机上应该已经安装了 Intel GPU 驱动程序。如果没有,请下载并安装 Intel 驱动程序

Download the following Dockerfile for a minimal Docker image using Zivid software on Ubuntu 24.04.

FROM ubuntu:24.04

RUN apt-get update && apt-get install --assume-yes \
    wget \
    intel-opencl-icd

RUN wget --quiet \
    https://downloads.zivid.com/sdk/releases/2.14.2+1a322f18-1/u24/amd64/zivid_2.14.2+1a322f18-1_amd64.deb \
    https://downloads.zivid.com/sdk/releases/2.14.2+1a322f18-1/u24/amd64/zivid-tools_2.14.2+1a322f18-1_amd64.deb \
    https://downloads.zivid.com/sdk/releases/2.14.2+1a322f18-1/u24/amd64/zivid-genicam_2.14.2+1a322f18-1_amd64.deb

RUN apt-get update
RUN apt-get install ./*.deb --assume-yes && rm ./*.deb

导航到放置 Dockerfile 的目录,然后通过运行以下指令来构建和运行容器

sudo docker build -t <image> .
sudo docker run --interactive --tty --device=/dev/dri <image>

其中 <image> 是镜像的名称,例如 zivid 。您现在应该处于安装了 Zivid 的 Ubuntu 上的交互式会话中。

首先,如果未安装 GPU 的驱动程序,请在主机上安装 NVIDIA 驱动程序 。然后在主机上安装 NVIDIA Container Toolkit。

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \
&& \
    sudo apt-get update

sudo apt-get install -y nvidia-container-toolkit

然后配置 Docker 以使用 NVIDIA Container Runtime。

sudo nvidia-ctk runtime configure --runtime=docker

重新启动 Docker daemon。

sudo systemctl restart docker

You should now be able to access your NVIDIA GPU through Docker. Download the following Dockerfile for a minimal Docker image using Zivid software on Ubuntu 24.04.

FROM ubuntu:24.04

RUN apt-get update && apt-get install --assume-yes \
    wget \
    ocl-icd-libopencl1

RUN mkdir -p /etc/OpenCL/vendors && \
    echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd

ENV NVIDIA_VISIBLE_DEVICES all
ENV NVIDIA_DRIVER_CAPABILITIES compute,utility

RUN wget --quiet \
    https://downloads.zivid.com/sdk/releases/2.14.2+1a322f18-1/u24/amd64/zivid_2.14.2+1a322f18-1_amd64.deb \
    https://downloads.zivid.com/sdk/releases/2.14.2+1a322f18-1/u24/amd64/zivid-tools_2.14.2+1a322f18-1_amd64.deb \
    https://downloads.zivid.com/sdk/releases/2.14.2+1a322f18-1/u24/amd64/zivid-genicam_2.14.2+1a322f18-1_amd64.deb

RUN apt-get update
RUN apt-get install ./*.deb --assume-yes && rm ./*.deb

导航到放置 Dockerfile 的目录,然后通过运行以下指令来构建和运行容器

sudo docker build -t <image> .
sudo docker run --interactive --tty --device=/dev/dri --gpus=all <image>

其中 <image> 是镜像的名称,例如 zivid 。您现在应该处于安装了 Zivid 的 Ubuntu 上的交互式会话中。

要验证 Zivid SDK 在 Docker 容器中是否能够按预期工作,您可以运行

ZividListCameras

如果没有错误,则 Zivid SDK 正在 Docker 容器中运行。

备注

默认情况下,您只能找到具有静态IP地址 172.28.60.5 的相机。如果您需要连接一个或多个自定义IP地址的相机,请查看 连接到 Docker 中的相机