ハウツー: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
これにより、ホストシステムに接続されているすべてのBasler USBカメラがDockerコンテナ内でも表示されるようになります。
その後、作業を続行できます。実行するか: lsusb または、グラブサンプルをビルドして実行します。