Docker勉強会&ハンズオン
イベント内容
※※※ 事前準備の内容を更新しました1 2016-08-14 ※※※
※※※ 事前準備の内容を更新しました2 2016-08-20 ※※※
概要
VirtualBox上にVagrantでDocker環境を作って、 Dockerの基本を学びながらみんなで動かしてみよう!
この勉強会はハンズオン形式で開催します。
今回はnginx + php-fpm + mariadb + cakephp3の環境のGit レポジトリを用意するので、まずはそれで動く環境を作り、その後、それぞれの仕組みを追っかけていこうと思っています。
勉強会のゴール
ゴールはこんな感じで考えています:
- Dockerが何なのかを理解する
- Dockerを動かせるようになる
- Dockerの動く環境が手に入る
対象者
この勉強は、Web開発の中級レベル以上の方を対象としています。 具体的には以下のような人物の参加を想定しています。
- Webの開発をしているが、毎回環境を構築するのが面倒だと感じている。
- コマンドラインに抵抗は感じない。基本的なLinuxコマンドは使えるし、Gitもだいたい使える。
- Vagrantもまぁまぁ使える。
初心者だとちょっと辛いかもです。
また、一人だと手が足りなくなる恐れがあるため、すでにdocker-compose使っている方で手伝ってあげても良いよって方のご参加もお待ちしております。その際は、TwitterかFBあたりで一声ご連絡いただけると幸いです。
事前準備
勉強会をスムーズに進めるために、Docker環境の事前準備をお願いします。
Vagrant環境も含め、その場で作っても良いのですがVagrantのイメージファイルは大きいので、大勢で同時にダウンロードし始めるのは大変ですよねという点と、話をDockerだけにフォーカスしたいので、足回りは事前にご準備いただきたいと思っています。 といっても、それぞれ別のVagrant環境だと環境依存などで話が進めにくくなるため、以下の環境を事前にセットアップしてきてください。
Docker環境構築用のVagrantファイルはこちらです:
https://github.com/boarnagia/vagrant-dockerhost.git
セットアップと動作確認方法についてはこちらを参考にしてください:
https://github.com/boarnagia/vagrant-dockerhost/blob/master/README-ja.md
docker-composeのv1.8以上とGitが動く環境がすでにあるのであればそれでもOKなはず。でも、現場でフォローはできないかもなので、指定の環境をご用意いただくことをお勧めします。
環境がうまく構築できない方は、このイベントのフィードか、TwitterかFBなどでご質問いただければ、何かしら手助けできるかもしれません。手助けできなかったらごめんなさい。
※Vagrant 1.8.5にバグがあることがわかりました。 うまくいかない方は、以下を参考に対策を行ってください。
対策1:Vagrantfileの11行目あたりに以下の行を追加する
config.ssh.insert_key = false
対策2:Vagrantのソースファイルを修正する やり方はこちらをご参照ください。 http://stknohg.hatenablog.jp/entry/2016/07/26/190330
持ち物
- Docker環境構築済みのパソコン
- ご自分の飲み物とおやつ(お酒も可)
ざっくりアジェンダ
こんな感じで進めようかなと思ってます。 ただし、現場優先で状況により変わるかもです。
- ご挨拶
- Dockerの紹介
- 各自自己紹介
- 動く環境のビルド
- Dockerファイルの説明
- docker-composeファイルの説明
- ちょっとしたTipsなど
- ざっくばらんと雑談
その他
どうしてVMの上に環境を作るの?
Windows10 ProやMacだと直接Dockerを動かすことも最近できるようになりましたが、VM上のLinux環境に比べると5倍ぐらい動作が重かったんですよね。具体的には、VM上だと1秒で表示できるページが、Mac上だと5秒掛かりました。ですので、パフォーマンスの面でVM上の方が有利なため、VM上での環境構築をお勧めします。
WinPro環境はまだ試してないので、ご存じの方がいらしたらパフォーマンスの違いなど教えていただけると幸いです。
Dockerって何?
通常の仮想化環境(VM)をよりコンパクトにしたもの。無料。 VMだと1環境4〜8GB使いますが、これだと1GB程度で済みます。
→ https://www.docker.com/what-docker
Composeって何?
複数のDocker環境をぽちっと一発で構築するツール。無料。 nginx + php-fpm + mariadbの3サーバー構成が1コマンドで立ち上がる様は感動。
→ https://docs.docker.com/compose/
VirtualBoxって何?
オラクルが提供している仮想化ソフトウェア。無料。
→ https://www.virtualbox.org/wiki/Downloads
Vagrantって何?
HashiCorpが提供する仮想環境なんかを一発で構築するツール。無料。
会場はどんなところなの?
電源、Wifiは完備されています。 フロアに自販機があり、ビルの一階にコンビニも入っているので買い物には困らないと思います。 IT勉強会の支援のために無料でご提供いただいていますので、感謝とリスペクトを持ってご利用ください。
→ https://www.doorkeeper.jp/%E4%BC%9A%E5%A0%B4/eiwa-systems-management
正面玄関が閉まってる!どうやって会場に入れば良いの?
休日はビルの施錠がされているため、通用口からしか入場できません。
通用口は正面玄関から見て右側にありますので、そこにあるインターフォンで 702 をお呼び出してください。
インターフォンでは「勉強会の参加者です」と言っていただければOKです!
注意事項
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。