在 Docker 中安装 Zivid

先决条件

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

备注

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

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

下载以下内容 Dockerfile 以获得使用 Ubuntu 24.04 上的 Zivid 软件的最小 Docker 镜像。

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.0+e4a0c4a9-1/u24/amd64/zivid_2.14.0+e4a0c4a9-1_amd64.deb \
    https://downloads.zivid.com/sdk/releases/2.14.0+e4a0c4a9-1/u24/amd64/zivid-tools_2.14.0+e4a0c4a9-1_amd64.deb \
    https://downloads.zivid.com/sdk/releases/2.14.0+e4a0c4a9-1/u24/amd64/zivid-genicam_2.14.0+e4a0c4a9-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

您现在应该能够通过 Docker 访问您的 NVIDIA GPU。下载以下内容 Dockerfile ,以获取使用 Ubuntu 24.04 上的 Zivid 软件的最小 Docker 映像。

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.0+e4a0c4a9-1/u24/amd64/zivid_2.14.0+e4a0c4a9-1_amd64.deb \
    https://downloads.zivid.com/sdk/releases/2.14.0+e4a0c4a9-1/u24/amd64/zivid-tools_2.14.0+e4a0c4a9-1_amd64.deb \
    https://downloads.zivid.com/sdk/releases/2.14.0+e4a0c4a9-1/u24/amd64/zivid-genicam_2.14.0+e4a0c4a9-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 中的相机