Docker上でWebカメラを使って開発したいなーを実現します。
メモ程度です。
Docker上でGUIを起動する方法についてはこちらの記事を参照してください。
DockerでポータブルなLinux開発環境(GUI付き)を構築する
Dockerfile
# 前略
# webcam 確認用 GUI必要です。
RUN apt-get update && apt-get install -y \
uvccapture \
guvcview \
cheese
launch.sh
function launch_docker() {
local image_tag=$1
# GUI不要の場合、--deviceのみでOK
# GUI用にすべてのX接続を受け入れる
xhost +
docker run --privileged -it \
-e DISPLAY=$DISPLAY \ # Xの宛先をホストと同一に
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \ # Xソケットを共有
--device /dev/video0:/dev/video0:mwr \ # カメラデバイスを共有
--device /dev/video1:/dev/video1:mwr \ # 複数指定も可能
${image_tag} /bin/bash
}
launch_docker image_tag
後はdocker内で cheese
などを実行するとホストと同じようにカメラ映像を確認できます。