ヤポドゥハンズオン
金曜に Docker コンテナ構築のハンズオンに参加してきた.
トレンド的に Docker の人気が凄すぎて,イベント公開のタイミングに少し出遅れただけなのに補欠になってしまった.参加できなさそうだなーと思ったけど,最終的にハンズオン開始の15分前に繰り上がって参加できることになって良かった.
(事前に主催者の田村さんに声を掛けて頂いたりもしてありがとうございました!)
Docker と僕
最近ウェブオペレーションエンジニアとしてのキャリアを考えたりしていて,その一環として Docker を独学で勉強し始めたところだった.
Docker の基礎となる操作は一通り試してみたりして,動くには動くんだけど,プロダクション環境に導入するって考えると何となくしっくり来ないような感じがして,わかったようでわかってないという状況で止まっていた.
そんなときにタイミング良くハンズオンを発見したので参加してみたって感じ.
ハンズオンしたこと
- CentOS 7 に Docker をインストールした
- Docker Hub から CentOS 6 のイメージを落としてきてコンテナを構築した
- コンテナ上に手動で Apache を立てた
- コンテナを動かしたり,止めたり,消したり,イメージをビルドしたりした
- Dockerfile を使って Apache + Fluentd を立てたイメージをビルドした
- ディスク速度の計測をしてホストとコンテナにおけるパフォーマンスの差異を確認した.
ハンズオンの手順にステータスを確認する手順が多く入っていたので,常にホストとコンテナの状況を意識することができて良かった.あと fio
や dd
を使って実際にディスク速度のパフォーマンスを計測できたのは実用的だった.
ps -ef
df -h
docker ps
とdocker ps -a
docker images
1時間半のハンズオンだったけど得られたことは大きかった.
勉強になったこと
- コンテナの監視まで考えると難しいところもある
- 類似したサービスが多く出てくるフェーズなのでまだまだ変化していく
- CentOS 6 を Docker のホストにするとカーネルパニックが起きることがある
- Docker 1.3 から
docker exec
が使えるようになって便利(特にdocker exec -d
) Ctrl + p & Ctrl + q
でコンテナから Detach できるdocker build
しているときに内部的に継続的にイメージをコミットしている- コンテナだとディスク速度が基本的に遅くなるので
fio
やdd
などで事前確認するのは必須
あと個人的に気になってた「Dokerfile の定義を見ると Chef と似たような印象を受けるんだけどどう使い分けるの?」というところを聞いてみたら「当然 Chef を使うこともできるけど,Dokerfile にシンプルに書けるレベルの環境こそ Docker にハマるから個人的には使わないかな」という話をして頂いてスッキリした.
癒やされたこと
無意識だとは思うけど,開場に入ったときに主催者の田村さんに「"どっか"そこら辺の席に座って下さい」って言われて吹いたwww
懇親会
僕はアプリ中心のエンジニアなので,インフラを専門にやってるエンジニアの方々とお話できて非常に刺激的だった.
Ansible をオススメされた.前から勉強しないと!と思ってるのにまだ何もできてないし早く使ってみないと.
まとめ
もやもやしてた Docker の理解を整理できて非常に良かった.何よりもハンズオンがわかりやすくて「ヤポドゥハンズオン」最高って感じ.
今後は Serverspec / CircleCI / Google BigQuery のハンズオンなどを予定しているそうなので参加しようと思う.ただ絶対また人気になるから募集直後に気付かないとすぐ補欠になっちゃう!w
「ヤポドゥハンズオン」のアシスタントとしてお手伝いできるようになるのを目標にして引き続き頑張ろう.お疲れさまでした!