第17回 Dockerで植物が育つ様子を自動録画してみよう――その1古賀政純の「攻めのITのためのDocker塾」(1/2 ページ)

今回からDockerコンテナを使って動画の撮影や活用のための環境を構築する方法をご紹介していきます。Webカメラの使い方や録画データの保存、構築した環境の管理などはどうすればいいのでしょうか――まずは導入準備編です。

» 2016年03月02日 08時00分 公開

 筆者は、自宅で植物を育てています。また、植物が生長する様子をWebカメラで24時間撮影し、録画しています。録画されたデータは、動画ファイルとして自宅のHPE ProLiantサーバ(録画サーバ)に自動的に保管されるように環境を構築しています。筆者の録画サーバは、植物の成長記録の画像・動画データの保存の目的以外にも、DVD鑑賞や仕事にも使っているため、さまざまなアプリケーションが稼働しています。

 植物の撮影は、書斎とリビングの2カ所にWebカメラと録画サーバを1台ずつ用意して行っています。しかし、録画サーバは2カ所にありますので、環境の構築やアプリのメンテナンスをできるだけ簡素化し、移植性を高める必要があります。また録画サーバは、CentOSやUbuntu ServerなどのマルチOS環境、Hadoop、機械学習、Webシステムなどの様々なオープンソースソフトウェアを稼働させるための「ミニテスト環境」を兼ねており、限られたサーバ資源で複数のOS環境やアプリケーションを同時に稼働させる必要もあります。そこで、マルチOS環境の構築やメンテナンスの省力化、計算資源の節約を実現するために、植物の成長記録を録画する環境をDockerコンテナで構築することにしました。

 今回からは、DockerとWebカメラを使った植物の成長記録用の録画サーバーの構築についてご紹介します。

まずはゴール、メリット、方法を決める

 動画撮影用のシステムを構築するにあたり、まずはゴールを決めましょう。今回のゴールは、Dockerコンテナ上で植物の様子を画像や動画で24時間自動的に記録し、Webブラウザ経由でダウンロードできるようにするところまでとします。以下にゴールと実現する手段、Dockerコンテナ化するメリット、ハードウェア、ソフトウェアを示します。

ゴール 「植物の成長の様子を画像と動画で24時間保存し、Webブラウザなどを使ってダウンロードし、閲覧できること」
Dockerコンテナ化のメリット (1)OS環境とアプリをDockerイメージ化することで、Webカメラの環境が増えても、簡単に移植でき、環境構築の手間の削減が期待できる、(2)OS環境やアプリの起動が素早くなり、かつ、従来の仮想化環境のゲストOSに比べ、稼働するプロセスが大幅に少なくなるため、ハードウェア資源の節約、メンテナンス工数の削減が期待できる
方法 (1)録画環境をDockerコンテナで構築し、ホストOS上に動画を保管する、(2)WebサーバをDockerコンテナで稼働させる
ハードウェア HPE ProLiantサーバ、USB接続のWebカメラ
ソフトウェア CentOS 7.x(Dockerホスト用)、Docker(コンテナエンジン)、Motion(無償の録画アプリ)、httpd(Webサーバ)、Supervisor(プロセス監視ツール)
植物の成長記録用の自動録画サーバ環境
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ