More Related Content
More from Yuma Ohgami (20)
【シェル芸】コマンド7つで簡易コンテナ
- 2. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 2
自己紹介
● 大神 祐真
– http://yuma.ohgami.jp
● 組み込み系のエンジニア
– Linux
– C言語、アセンブラ(ARM)
- 3. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 3
自己紹介
● 大神 祐真
– http://yuma.ohgami.jp
● 組み込み系のエンジニア
– Linux
– C言語、アセンブラ(ARM)
- 4. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 4
自己紹介
● 大神 祐真
– http://yuma.ohgami.jp
● 組み込み系のエンジニア
– Linux
– C言語、アセンブラ(ARM)
だったのですが
- 5. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 5
自己紹介
● 大神 祐真
– http://yuma.ohgami.jp
● 組み込み系のエンジニア
– Linux
– C言語、アセンブラ(ARM)
だったのですが
本社
営業所
12/1から
異動で
技術営業に
- 7. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 7
シェル芸で
コンテナをセットアップしてみる
● コンテナ型の仮想化で欠かせないのが
「名前空間の分離」
発想
- 8. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 8
シェル芸で
コンテナをセットアップしてみる
● コンテナ型の仮想化で欠かせないのが
「名前空間の分離」
● ”システムコールでは unshare”
発想
- 9. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 9
シェル芸で
コンテナをセットアップしてみる
● コンテナ型の仮想化で欠かせないのが
「名前空間の分離」
● ”システムコールでは unshare”
● unshareはコマンドもある
発想
- 10. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 10
シェル芸で
コンテナをセットアップしてみる
● コンテナ型の仮想化で欠かせないのが
「名前空間の分離」
● ”システムコールでは unshare”
● unshareはコマンドもある
● シェル芸できる!
発想
- 12. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 12
シェル芸で
コンテナをセットアップしてみる
● ルートディレクトリとPID名前空間の分離
目標
- 13. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 13
シェル芸で
コンテナをセットアップしてみる
● ルートディレクトリとPID名前空間の分離
目標
具体的には、
- 14. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 14
シェル芸で
コンテナをセットアップしてみる
● ルートディレクトリとPID名前空間の分離
● “ls /”で別のルートディレクトリが見える
目標
具体的には、
- 15. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 15
シェル芸で
コンテナをセットアップしてみる
● ルートディレクトリとPID名前空間の分離
● “ls /”で別のルートディレクトリが見える
● “ps”で新たにPID=1から割り振られている
目標
具体的には、
- 16. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 16
簡易コンテナをセットアップする
7つのコマンド
ホストマシン上
$ mkdir test_container
$ cd test_container
$ cp -r /bin /lib /lib64 .
$ sudo unshare -pf chroot . bash
簡易コンテナ上
# mkdir -p /proc /dev/pts
# mount -t proc proc /proc
# mount -t devpts devpts /dev/pts
- 18. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 18
参考
●
もっと、しっかりと
シェルスクリプトで実現された方が居ます
MINCS