少し間が空いてしまいましたが今回は同セッション内で行われた こちら と こちら の発表についてです。さすがに Docker というキーワードは強力で、会場は自分も含めて立ち見の人多数という状況でした。
個人的に響いたこと
- Docker の特徴は再現可能な手順として記述すること
- 個人的には Dockerfile は冪等性を保証しないので、Dockerfile は毎日 CI で回し続けてまずビルドが通るかテストし、通ったらイメージ化してさらに serverspec をかけて動作を保証するべきでは?と現状考えている。
- イメージだけをアドホックに作ってテストし続けると手順が失われて秘伝のそれになってしまう。
- UID/GID の namespace が実装されたのが kernel 3.8 以降
- Docker の本番活用事例が出てくるのは少し先になりそう。
- Linux 女子部の資料 は必見
講演メモ
- kernel 3.8 よりコンテナ UID/GID の名前空間が実装されているので 3.8 以降をサポート
- 仮想マシンを起動している訳ではなくホストからみると1プロセス
ユースケース
- 開発環境の配布
- チームに join した人にイメージをすぐ提供
- CI
- 秘伝の AMI、スナップショット、サーバをなくす(イメージでしか動かなくなるケースがある)
- サーバーのバージョン管理
- Docker/Jenkins/Serverspec で回す
- Infrastructure as code
- orchestration : capistrano, build pack
- configuration : chef, puppet
- bootstrapping : docker, vagrant, packer
- Docker Hub でビルドが勝手に走る
- VOLUME オプションで自身の開発ディレクトリをマウントする
- ansible のところについて後で資料を見る
- Linux 女子部の資料も参考
- 開発環境の配布
マルチクラウド : パブリッククラウドを使ってディザスタリカバリや事業リスクの回避を行うニーズ
- Docker のポータビリティ
- プライベートリポジトリ
- DockerHub
- export/import
- DNS/NW/コンテナイメージ/ジョブ切替・コントロール自動化が必須
- コンテナマネジメント層ができる > サーバマネジメント層 > クラスタマネジメント層 (core OS/heat/Chef-metal) > サービスマネジメント層