방법: Docker 컨테이너에서 Basler USB 카메라 사용하기#
다음 문서는 사용자가 Docker 설치 및 Docker 명령어에 익숙하다고 가정합니다.
당사에서 사용하는 구성은 다음과 같습니다:
- 호스트 OS: Ubuntu 20.04 및 pylon 6.2
- 게스트 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
이제 Docker 컨테이너에서도 호스트 시스템에 연결된 모든 Basler USB 카메라를 확인할 수 있습니다.
이어서 작업을 진행할 수 있습니다. 실행 lsusb 또는 grab 샘플을 빌드하여 실행합니다.