Successfully reported this slideshow.
Your SlideShare is downloading. ×

【シェル芸】コマンド7つで簡易コンテナ

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 19 Ad

【シェル芸】コマンド7つで簡易コンテナ

Download to read offline

CLR/H #103 ~ クリスマス オブ ザ デッド ~
https://clrh.connpass.com/event/45552/
のLTのスライドです。

同内容のブログ記事も公開しています。
chrootとunshareを使い、シェル上でコマンド7つで簡易コンテナ
http://d.hatena.ne.jp/cupnes/20161215/1481755818

CLR/H #103 ~ クリスマス オブ ザ デッド ~
https://clrh.connpass.com/event/45552/
のLTのスライドです。

同内容のブログ記事も公開しています。
chrootとunshareを使い、シェル上でコマンド7つで簡易コンテナ
http://d.hatena.ne.jp/cupnes/20161215/1481755818

Advertisement
Advertisement

More Related Content

More from Yuma Ohgami (15)

Advertisement

Recently uploaded (20)

Advertisement

【シェル芸】コマンド7つで簡易コンテナ

  1. 1. 【シェル芸】コマンド7つで簡易コンテナ 大神 祐真 yuma@ohgami.jp 2016/12/17
  2. 2. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 2 自己紹介 ● 大神 祐真 – http://yuma.ohgami.jp ● 組み込み系のエンジニア – Linux – C言語、アセンブラ(ARM)
  3. 3. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 3 自己紹介 ● 大神 祐真 – http://yuma.ohgami.jp ● 組み込み系のエンジニア – Linux – C言語、アセンブラ(ARM)
  4. 4. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 4 自己紹介 ● 大神 祐真 – http://yuma.ohgami.jp ● 組み込み系のエンジニア – Linux – C言語、アセンブラ(ARM) だったのですが
  5. 5. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 5 自己紹介 ● 大神 祐真 – http://yuma.ohgami.jp ● 組み込み系のエンジニア – Linux – C言語、アセンブラ(ARM) だったのですが 本社 営業所 12/1から 異動で 技術営業に
  6. 6. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 6 シェル芸で コンテナをセットアップしてみる 発想
  7. 7. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 7 シェル芸で コンテナをセットアップしてみる ● コンテナ型の仮想化で欠かせないのが 「名前空間の分離」 発想
  8. 8. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 8 シェル芸で コンテナをセットアップしてみる ● コンテナ型の仮想化で欠かせないのが 「名前空間の分離」 ● ”システムコールでは unshare” 発想
  9. 9. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 9 シェル芸で コンテナをセットアップしてみる ● コンテナ型の仮想化で欠かせないのが 「名前空間の分離」 ● ”システムコールでは unshare” ● unshareはコマンドもある 発想
  10. 10. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 10 シェル芸で コンテナをセットアップしてみる ● コンテナ型の仮想化で欠かせないのが 「名前空間の分離」 ● ”システムコールでは unshare” ● unshareはコマンドもある ● シェル芸できる! 発想
  11. 11. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 11 シェル芸で コンテナをセットアップしてみる 目標
  12. 12. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 12 シェル芸で コンテナをセットアップしてみる ● ルートディレクトリとPID名前空間の分離 目標
  13. 13. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 13 シェル芸で コンテナをセットアップしてみる ● ルートディレクトリとPID名前空間の分離 目標 具体的には、
  14. 14. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 14 シェル芸で コンテナをセットアップしてみる ● ルートディレクトリとPID名前空間の分離 ● “ls /”で別のルートディレクトリが見える 目標 具体的には、
  15. 15. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 15 シェル芸で コンテナをセットアップしてみる ● ルートディレクトリとPID名前空間の分離 ● “ls /”で別のルートディレクトリが見える ● “ps”で新たにPID=1から割り振られている 目標 具体的には、
  16. 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
  17. 17. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 17 結果
  18. 18. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 18 参考 ● もっと、しっかりと シェルスクリプトで実現された方が居ます MINCS
  19. 19. 2016/12/17 大神 祐真 (yuma.ohgami.jp) 19 ご清聴、 ありがとうございました!

×