Upgrade to Pro — share decks privately, control downloads, hide ads and more …

雰囲気でコンテナ使っている 全ての人が読むべき 「コンテナ技術入門」の紹介

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

雰囲気でコンテナ使っている 全ての人が読むべき 「コンテナ技術入門」の紹介

コンテナを根っこから理解するのに最適なテキスト「コンテナ技術入門」の紹介です。

Avatar for 濱田孝治

濱田孝治

July 05, 2019
Tweet

More Decks by 濱田孝治

Other Decks in Technology

Transcript

  1. 11 コンテナを⽀える要素技術 • Namespace → カーネルリソースの隔離 • cgroup → リソース制限

    • Capability → 権限制限 • chrootとpivot_root → 権限制限 • OverlayFS → ファイルシステムの階層化 • Network Namespace → ネットワークの隔離
  2. 14 実⾏環境の⽤意⽅法 • Vagrant (ubuntu) • 記事における動作確認環境 • Vagrantfileが記載されているのでそれを実⾏ •

    AWS(EC2) • Ubuntu Server(18.04)あたりのAMIから起動 • その他、Ubuntuならそのまま動きそう
  3. 15 実⾏環境の⽤意⽅法 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates

    curl software-properties-common jq curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install -y docker-ce sudo apt-get install -y cgdb sudo apt-get install -y cgroup-tools sudo apt-get install -y uuid-runtime sudo apt-get install -y tree sudo apt-get install -y iputils-ping だいたい、これぐらいやれば動く
  4. 17 「コンテナを作る」 <事前準備> • cgroupでリソース(CPUとメモリ)制限 • Namespaceでリソース隔離 • コンテナ内で「yes >/dev/null」

    <動作確認> • 別シェルでps(プロセス)確認 • topコマンドで利⽤時間確認 コンテナのなかでなに をどうやっても、CPU 利⽤率があがらん︕︕
  5. 18 「OverlayFS」 <事前準備> • サンプルのDockerfile確認 • LAYER1の作成(既存イメージの展開) • LAYER2の作成(LAYER1にcurlを埋め 込み)

    <動作確認> • LAYER1と2をOverlayFSでコンテナイ メージ作成 イメージのレイヤーっ てこれかよ︕
  6. 19 「ネットワークリソースの隔離」 <事前準備> • ネットワークブリッジ作成 • Network Namespace作成 • vethペアを作成、ネットワークブ

    リッジに追加 • デフォルトゲートウェイ設定 <動作確認> • ブリッジとNamespaceのの疎通確認 ネットワークリソース が隔離されるなんて なんかもう凄い︕
  7. 21 「コンテナ技術⼊⾨」やって感じたこと • しんどい • (⼈によるが)知らないコマンドが多すぎる • 都度調べてると、いくらでも時間が溶けていく • Dockerを最低限知ってないと楽しくない

    • Docker知らない状態でやると、⾯⽩くない • 結構な時間がかかる • あれこれ調べながらだと、最低6時間はかかる • ざざーっと⼀度最後まで通してやってみるのもオススメ