방법: Docker 컨테이너에서 Basler USB 카메라 사용하기#
이 아티클은 Docker 설치 및 Docker 명령어에 익숙하다는 것을 가정합니다.
당사에서 사용 중인 구성은 다음과 같습니다.
- Host OS: Ubuntu 20.04 및 pylon 6.2
- Guest OS: Ubuntu 20.04 및 pylon 6.2
진행 방법은 다음과 같습니다:
- 호스트 시스템에서 원하는 디렉터리를 생성합니다(예: /home/user/dockerImage).
- 다음 텍스트를 파일로 저장합니다.
Dockerfile위 디렉터리 내에:FROM ubuntu:20.04 LABEL maintainer="s.mathimugan@baslerweb.com" LABEL version="0.1" LABEL description="This is custom Docker Image" RUN apt-get update && apt-get install build-essential locales-all joe vim -y RUN apt-get install dialog apt-utils usbutils -y ARG USERNAME=dev ARG PUID=1000 ARG PGID=1000 RUN groupadd -g ${PGID} ${USERNAME} \ && useradd -u ${PUID} -g ${USERNAME} -d /home/${USERNAME} ${USERNAME} \ && mkdir /home/${USERNAME} \ && chown -R ${USERNAME}:${USERNAME} /home/${USERNAME} ENV DIR=/home/imcome RUN echo $DIR RUN mkdir -p ${DIR} && \ chmod +r ${DIR} COPY *.deb ${DIR} VOLUME [${DIR}] WORKDIR ${DIR} RUN dpkg -i ${DIR}/pylon*.deb CMD "/bin/bash" - pylon Debian 패키지를 다운로드하여 이 디렉터리에 저장합니다.
-
터미널을 열고 해당 디렉터리로 이동한 후 다음 명령어를 실행하여 공개 Ubuntu 20.04 이미지를 기반으로 Docker 이미지를 생성합니다.
sudo docker build -t pylon .이 명령어는 Docker 이미지에도 pylon을 설치합니다.
-
다음 명령어를 사용하여 새로 빌드된 이미지를 실행합니다.
sudo docker run -ti -v '/dev/bus/usb':'/dev/bus/usb' --privileged -e DISPLAY=$DISPLAY -v '/tmp/.X11-unix':'/tmp/.X11-unix' pylon
이제 호스트 시스템에 연결된 모든 Basler USB cameras가 Docker 컨테이너에도 표시됩니다.
그런 다음 작업을 계속 진행할 수 있습니다. lsusb 또는 grab 샘플을 빌드하고 실행합니다.