データサイエンティストの為のDocker入門勉強会#1を実施したので振り返る
私が所属しているデータラーニングギルドというオンラインコミュニティにおいて、「データ系職種の人が最低限知っておきたいDockerのあれこれを学ぶこと」を目的として勉強会を開いた。
本エントリーでは、第一回の勉強会をKPT方式で振り返ろうと思う。
まず、第一回の勉強会をどのように実施したのかを説明し、その中で得た学び(Keep, Problem)と次のアクション(Try)を記述する。
同日Gitの勉強会も実施しました。↓↓
1. 第一回勉強会の内容
どのようにやったか
- 形式
- 講義形式(筆者が説明)+実践(ハンズオン)
- ※オンライン
- 教材
- 参加者のDockerに関する前提知識
- 名前は聞いたことがある〜業務外で個人的にチュートリアルしたことがある
- その他
- 参加者には予め以下の準備を依頼
- 教材のサイトをさらっと見ておくこと
- Dockerhubアカウントを作成しておくこと
- Play with Dockerを動かせるようにしておくこと
- 参加者には予め以下の準備を依頼
何を勉強したのか
- Dockerにまつわる概念的説明
- Dockerとは?
- Hypervisor型仮想化とコンテナ型仮想化の違い
- コンテナ型仮想化の有り難み
- Docker Image
- Docker Container
- Dockerfile
- Dockerの基本操作
- 公開されたイメージを使う
docker pull/run (published image name)
FROM (published image name)
at Dockerfile
- 公開されたイメージを使う
- イメージやコンテナを見る
docker image ls
docker container ls
- Dockerの挙動
- 一度もプルされたことないイメージは
docker pull/run
時に適宜ダウンロード+プルされること - 以前プルしたことのあるイメージならば、ローカルに保存されたイメージを使う
- 一度もプルされたことないイメージは
- Dockerfileの書き方(FROM/COPY/CMDのみ)
参加者からの講義に関する質問や意見など
- 質問
- 意見
など
2. Keep
- ライブコーディングでDockerの操作を行ったこと、ハンズオンでDockerを触ってもらったこと
- 口頭のみで説明した概念的ものを実際にDockerの出力結果として見せることができた
- 売ったコマンドによって、何がプルされているのかを一緒に出力メッセージを見ながら解説できた
- 参加者の中から議事録作成者を募集したこと(そして、有難いことに立候補してくれる人がいたこと)
- 書いていただいた議事録のおかげで、今まさにこの振り返りもスムーズにできている訳だし......
3. Problem
- 実践する時間が少なかった為、ハンズオンでの質問を多く受けられなかった
- 個人的には、実際に触ってから生まれる疑問に答える方が学びの手助けとして重要と考えている
4. Try
(Git勉強会のTryと被るけど...)
- いつでも質問大歓迎の雰囲気作り、場作り
- データラーニングギルドのSlack内に本勉強会用チャンネルがあるが、
- 勉強会の実施要領などを通知するだけの場になっている
- 質問文を考えること自体コストがかかるし、それを勉強会の時間内で全員ができるかといえば難しい
- さらに、Dockerの操作に関しては、触って覚えた方が早い。Dockerfile作成のベストプラクティスを学ぶ時にまた理論(レイヤーやキャッシュ)に戻れば良い、と個人的に考えている
- したがって、非同期での質問受付の場を設けることとする。かつ初学者でも質問しやすい空気作りをする。(具体的にどうするかはまだ考え中)