Install Zivid in Docker
Prerequisites
Docker 컨테이너에 Zivid 소프트웨어를 설치하는 방법은 사용 중인 하드웨어에 따라 다릅니다. 해당 설정에 적용되는 지침을 따르세요.
참고
Windows는 현재 지원되지 않습니다. Docker 컨테이너에서 OpenCL이 Windows에서 완전히 지원되지 않기 때문입니다. 따라서 이 지침은 Ubuntu에만 적용됩니다.
Intel을 사용하는 경우 호스트 컴퓨터에 Intel GPU 드라이버가 이미 설치되어 있어야 합니다. 그렇지 않은 경우 Intel drivers 를 다운로드하여 설치하세요.
Zivid 소프트웨어를 사용하여 Ubuntu 24.04에서 최소 Docker 이미지용 다음 Dockerfile 를 다운로드하세요.
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.17.0+5fc9f05e-1/u24/amd64/zivid_2.17.0+5fc9f05e-1_amd64.deb \
https://downloads.zivid.com/sdk/releases/2.17.0+5fc9f05e-1/u24/amd64/zivid-tools_2.17.0+5fc9f05e-1_amd64.deb \
https://downloads.zivid.com/sdk/releases/2.17.0+5fc9f05e-1/u24/amd64/zivid-genicam_2.17.0+5fc9f05e-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에서 대화형 세션에 접속했을 것입니다.
먼저, 호스트 컴퓨터에 NVIDIA 드라이버 NVIDIA drivers 를 설치합니다. 그런 다음 호스트에 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에 액세스할 수 있습니다. Ubuntu 24.04에서 Zivid 소프트웨어를 사용하여 최소 Docker 이미지용 다음 Dockerfile 를 다운로드하세요.
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.17.0+5fc9f05e-1/u24/amd64/zivid_2.17.0+5fc9f05e-1_amd64.deb \
https://downloads.zivid.com/sdk/releases/2.17.0+5fc9f05e-1/u24/amd64/zivid-tools_2.17.0+5fc9f05e-1_amd64.deb \
https://downloads.zivid.com/sdk/releases/2.17.0+5fc9f05e-1/u24/amd64/zivid-genicam_2.17.0+5fc9f05e-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에서 대화형 세션에 접속했을 것입니다.
Docker 컨테이너에서 Zivid SDK가 예상대로 작동하는지 확인하려면 다음을 실행할 수 있습니다.
ZividListCameras
오류가 없으면 Zivid SDK가 Docker 컨테이너 내에서 작동하고 있는 것입니다.
참고
기본 고정 IP 172.28.60.5 를 사용하는 카메라만 찾을 수 있습니다. 사용자 지정 IP로 하나 또는 여러 대의 카메라에 연결하려면 Connecting to camera(s) in Docker 를 참고하세요.