1|2そもそもDockerコンテナでUSB接続の機器は使えるのか?コンピュータを使って動画を撮影するには、Webカメラを使用します。ProLiantサーバにWebカメラをUSB接続します。サーバでは録画アプリを実行します。一般的には、動画を保存するマシン上で録画アプリを直接稼働させますが、今回はDockerコンテナで録画アプリを稼働させる必要があります。ここで、ふと疑問が沸きます。「DockerコンテナでホストOSにUSB接続されたWebカメラを使うことができるのか?」ということです。実は、Docker環境においてUSB接続の機器を利用するには、Dockerコンテナが稼働しているホストOSが認識している物理的な周辺機器に関するデバイスファイルにDockerコンテナがアクセスする必要があります。USB接続のWebカメラの場合は、ホストOSの「/dev/video0」というデバイスファイルをコンテナでアクセスできるようにします。具体的には、Dockerコンテナ起動時に、以下のように「--device=/dev/video0:/dev/video0」を付与します。/bin/bashちなみに、USB接続のWebカメラではなく、SATA接続の光学ドライブをコンテナからマウントして利用する場合は、光学ドライブのデバイスファイル(/dev/sr0など)を「--device=/dev/sr0:/dev/sr0」で指定するだけでは、うまくいきません。光学ドライブに装着したDVD-ROMなどをコンテナからマウントして利用する場合は、さらに「--cap-add=SYS_ADMIN」を付与する必要があります。この「SYS_ADMIN」は、ケイパビリティ・キーと呼ばれ、これ以外にもさまざまなキーが存在します。Dockerではコンテナを特権モードで起動する「--privileged」オプションが存在します。この特権モードでDockerコンテナを起動させると、コンテナからはホストOSの全てのデバイスファイルにアクセスできてしまいますので、セキュリティ上の観点から利用はあまりお勧めできません。企業向けのサービス基盤において、「--privileged」オプションの付与は、慎重に検討してください。「--device」オプション、「--privileged」オプション、ケイパビリティ・キーについては、以下のURLに示すDocker社の公式ドキュメントに情報が掲載されています。意外と古くから使われている無償の録画アプリMotionMotion(モーション)は、Linuxで稼働する動画撮影アプリです。無償のソフトウェアですが、その名前からもわかるとおり、被写体のmotion(動き)があったことをリアルタイムに自動的に検知(=動体検知)する機能なども備えています。動画だけでなく、静止画像で保存する機能もあります。Linuxの世界では、かなり古くから使われており、自宅や遠隔地の監視カメラなどにも活用できるアプリとして知られています。Motionは、設定できる項目がたくさんありますが、設定ファイル(motion.conf)の雛形がありますので、Linuxに慣れていれば、導入のハードルはそれほど高くありません。Motionは、Webカメラのデバイス名(通常は、/dev/video0や/dev/video1など)、静止画の保存する時間の間隔、解像度などの各種パラメータを設定ファイル(motion.conf)に記述し、サービスを稼働させます。Motionについては、下記のURLに示すWebサイトに設定ファイルのパラメータの説明が記載されていますので、これを見れば、Motionでできることが一通り分かるかと思います。次回は録画したデータをWebで利用できるようにするための方法をご紹介します。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師、SIを経験。Fame」を2年連続受賞。プリセールスMVPを4度受賞。現在は日本HPにて、Linux、FreeBSD、Hadoopなどのサーバー基盤のプリセールスSE、文書執筆を担当。Hadoopなどの技術者認定資格を保有。Server実践入門」などがある。1つのDockerコンテナでサービスをたくさん動かすには?(応用編)Dockerコンテナで複数のサービスを動かすポイントを解説しましたが、今回はその応用編として具体的に3つの方法をご紹介します。1つのDockerコンテナでサービスをたくさん動かすには?(基礎編)サービスを稼働させる上で、ハイパーバイザ型の仮想化環境とDockerコンテナの環境では大きな違いがあります。基礎知識から解説しましょう。古いIT資産をDocker環境へ移行するには多面的な検証が必要です。今回は「延命措置」のシナリオから、実際に古い物理サーバからDocker環境へ移行する手順を紹介します。広告に関するお問い合わせメールマガジンSpecialインデックスRSSfacebooktwitter利用規約ITmediaはアイティメディア株式会社の登録商標です。