Skip to content

2-2. ワークショップの進め方

今の状態

今皆さんの手元にあるテンプレートは、ただ与えられたエントリーポイントを実行するだけのプログラムです。
これにプロセス隔離機能を実装することで、コンテナに仕立てていきます。

プログラムの動かし方

以下のコマンドで実行できます。
設定を変えたければ、リポジトリ直下のconfig.jsonを編集してください。

bash
make run

進め方

今回、実装は3つのパート別々に進められるようになっています。

  • Namespace
    • 担当範囲: main.go
  • chroot/pivot_root
    • 担当範囲: rootfs.go
  • cgroup
    • 担当範囲: cgroup.go

個人で取り組む人

次の章から順次取り組んで下さい。

チームで取り組む人

1人1~2機能を選んで手分けして取り組んでみて下さい。
1人当たり触るのは1ファイルになるはずです。
是非わからないときは助け合って。

cgroupが比較的簡単ですが、どれも新しい概念が出てくると思います。

最後にお互いが書いたコードを合わせて、コンテナを完成させましょう!

もしホスト環境がバグってどうしようもなくなったら

Linux環境を再起動してください。
今回扱うカーネル機能は、使い方を誤ればホストにまで影響を及ぼしてしまいますが、基本的に永続性は無いものです。
再起動すれば大体直ります。