[Docker] ホストのディレクトリをコンテナにマウントする

-vコマンドを使うと、ホストのディレクトリをコンテナのディレクトリにマウントすることができる。

サンプル

下の例ではホストの/host_dataディレクトリをコンテナの/container_dataディレクトリにマウントしている。

参考サイト

Managing data in containers – Docker Documentation
http://docs.docker.com/userguide/dockervolumes/

Dockerでコンテナからホストのディレクトリをマウントする – cpw’s diary
http://cpw.hatenadiary.jp/entry/2013/08/17/024028

[Docker] データボリュームを使ってコンテナ間でデータを共有する

データボリュームを使うと、複数コンテナでデータを共有することができる。

データボリュームは、永続または共有データに関して、幾つかの役立つ機能を提供する。

  • ボリュームはコンテナ作成時に初期化される。コンテナのベースイメージが指定されたマウントポイントのデータを含む場合、そのデータは新しいボリュームへコピーされる。
  • データボリュームはコンテナ間で共有及び再利用されることができる。
  • データボリュームへの変更は直ちに行われる。
  • イメージを更新する時、データボリュームへの変更は含まれない。
  • コンテナ自身が削除される場合でも、データボリュームは永続化される。

サンプル

ボリュームを作成するには、実行時に-vコマンドでボリューム名を指定する。

別のコンテナからボリュームを参照するには、実行時に–volume-fromでコンテナのIDを指定する。

参考サイト

Managing data in containers – Docker Documentation
http://docs.docker.com/userguide/dockervolumes/

Dockerで再利用可能なボリュームを定義する – cpw’s diary
http://cpw.hatenadiary.jp/entry/2013/08/17/013119

[Docker] コンテナに入る

Docker 1.3以降

docker execコマンドを使う。

コンテナに入りたい?それ docker exec でできるよ – Qiita
http://qiita.com/yosisa/items/a5670e4da3ff22e9411a

コマンド形式

Docker 1.3より前

execコマンドが使えないので面倒。以下参照。

どうやってdockerのコンテナに入ればいいですか? – Qiita
http://qiita.com/yukinagae/items/ef4124dd8397161e554f

[Docker] Ubuntuへのインストール (Docker 1.6)

公式サイトの手順が更新されているので、それに従ってインストールしてみる。

Ubuntu – Docker Documentation
https://docs.docker.com/installation/ubuntulinux/

OSはUbuntu 14.04 TLS。カーネルバージョンをチェック。

wgetがインストールされているかチェック。

最新版のDockerパッケージをゲット。

Dockerが正しくインストールされたか確認。

バージョンをチェック。

無事に完了。

[Vagrant] スナップショットを撮る

Vagrantのスナップショットを撮るプラグインを試したら便利だったので覚え書き。

dergachev/vagrant-vbox-snapshot · GitHub
dergachev/vagrant-vbox-snapshot · GitHub

インストール

スナップショットを撮る

スナップショットの一覧

スナップショットの復元

スナップショットの削除

参考サイト

VagrantでSnapShotを撮る – Qiita
http://qiita.com/ringo/items/a923a4867b4dad5e0e4d

[Vagrant] 仮想マシンのスナップショットとるならvagrant-vbox-snapshotが便利 – Code Life
http://blog.code-life.net/blog/2013/06/12/vagrant-vbox-snapshot/

[Vagrant] 共有フォルダのマウントエラーに対処する

共有フォルダのマウントエラーに直面。

vboxのビルドで解決するケース

以前に作成した仮想マシンではvboxをビルドすることで解決した。

すなわち、仮想マシンにログインして以下コマンドを実行。

その後、仮想マシンを再起動。

そうすると、共有フォルダのマウントエラーは解決された。

参考サイト:
vagrantでmountエラーの解決方法 – Qiita
http://qiita.com/osamu1203/items/10e19c74c912d303ca0b

vboxのビルドに失敗するケース

だけど、今回作成した仮想マシンではvboxのビルドがエラーになった。

ログ(/var/log/vboxadd-install.log)を見ると、「ヘッダファイルが見つからない」的なエラーが記されている。ネットから落としてきたVagrantイメージにvboxをビルドするのに必要なファイルが欠けているのだろうと予想。

Stackoverflowに同様の事例があったので、この解決法をなぞってみる。

ubuntu – Cannot compile Vagrant VirtualBox Guest Additions on 3.8 Kernel – Stack Overflow
http://stackoverflow.com/questions/20458497/cannot-compile-vagrant-virtualbox-guest-additions-on-3-8-kernel

vagrant-vbguestプラグインをインストールしてから仮想OSを立ち上げる。

すると、プラグインがGuest Additionをアップデートしてくれて、共有フォルダのマウントエラーが解決した。ホッ

参考サイト:
VagrantのboxのGuest Additionsのアップデート方法 – Qiita
http://qiita.com/isaoshimizu/items/e217008b8f6e79eccc85

[ClipBucket] 動画をテスト投稿したらエラー

ClipBucketを簡単にテスト。

まずは、管理者ログインしてテストユーザ作成する。

Users>Add Member

  • Username: test123
  • Password: test123
  • Email: test123@example.com

テストユーザから動画アップロードしてみる。アップロードは成功したけど、ステータスはProcessingのままで、いつまで待っても再生できるようにならない。

ログを確認。

パスが違うぞ。/usr/local/bin → /usr/bin

管理者画面で設定変更する。

Settings>Uploading and Conversion Settings

  • FFMPEG Path: /usr/local/bin/ffmpeg → /usr/bin/ffmpeg
  • MP4Box Path: /usr/local/bin/MP4Box → /usr/bin/MP4Box

再びテストユーザから動画アップロードする。

アップした動画のサムネールは表示されるようになったけど、相変わらず再生できない。This video might not work properlyって表示される。

再びログを確認。

ffmpegのオプションが無効と言っている。

たぶんインストールしてあるffmpegのバージョンが古いんだろうな。時間があるときに入れ替えよう。

[ClipBucket] ブラウザから初期設定する

ブラウザからアクセスして初期設定する。
http://192.168.33.10/ (Vagrantのプライベートアドレス)

clipbucket_0000

clipbucket_0001

問題あり。ffmpegが見つからないと言われた。/usr/bin/ffmpegにあるんだけど。

ターミナルからffmpegを起動してみる

起動しない。共有ライブラリがロードできないって。ネットで調べて対処する。

参考サイト
Ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file | Linux Server Guide
Ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file | Linux Server Guide

動くようになったのでブラウザに戻って画面をリロードすると、問題は消えた。

clipbucket_0001a

clipbucket_0002

clipbucket_0003

Database
Host: localhost
Database Name: clipbucket
Database User clipbucketuser
Database Password: 12345678
Database Prefix: cb_

clipbucket_0004

Admin Settings
Admin username: admin
Admin password: admin
Admin email: admin@example.com

clipbucket_0005

Site Settings
Website title: Clipbucket v2.7 Beta
Website Slogan: A way to broadcast yourself
Website URL: http://192.168.33.10

clipbucket_0006

clipbucket_0007

 

 

 

 

 

初期設定は完了。公開サイトじゃないので、とりあえずcb_installは消さずに放置しとく。

これで管理者ログインできるようになった。

clipbucket_0008(続く)

 

[ClipBucket] Apache/PHP/MySQLを設定する

Apacheの設定をする。

phpの設定をする。

MySQLの設定をする。

ApacheとMySQLを起動する。

データベースを作成する

  • Database: clipbucket
  • Username; clipbucketuser
  • Password: 12345678

ダウンロードしたClipBucketのアーカイブを解凍してウェブディレクトリへ配置。

(続く)

[ClipBucket] CentOSとミドルウェアをセットアップする

PHPmotionは動画共有サイト向けのオープンソースのCMS。

ClipBucket
ClipBucket

ClipBucket Installation « ClipBucket Documentation
ClipBucket Installation « ClipBucket Documentation

Requirements
– PHP 5.2.x & MySql 5.x.x
– PHP with Background Processing and Exec Enabled
– GD Library For Captchas and Other Image Manuplation
– FFMPEG – FLVTOOL2 – MP4Box

サポートしているPHPのバージョンが古かったり、必要なミドルウェアのセットアップが面倒だったりして、とてもじゃないけど自力でセットアップするのは無理そう。以下のページの説明をなぞってセットアップを試みる。

Clipbucketインストール(CentOS5 64bit)
Clipbucketインストール(CentOS5 64bit)

ゲストOSのセットアップ

Vagrantを使ってVirtualBox上でCentOS 5.9 64bitの環境を作る。

ミドルウェアのセットアップ

rpmforgeリポジトリを追加する。

必要なパッケージをインストールする。

php-5.2.17をインストールする。

libtheoraをインストールする。

ffmpegをインストールする。

MP4Boxをインストールする。

(続く)