Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
雰囲気でコンテナ使っている全ての人が読むべき「コンテナ技術入門」の紹介
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
濱田孝治
July 05, 2019
Technology
29k
9
Share
雰囲気でコンテナ使っている 全ての人が読むべき 「コンテナ技術入門」の紹介
コンテナを根っこから理解するのに最適なテキスト「コンテナ技術入門」の紹介です。
濱田孝治
July 05, 2019
More Decks by 濱田孝治
See All by 濱田孝治
製造業AIはここまで来た_濱田孝治_ハマコー_.pdf
hamadakoji
1
570
事例に見るスマートファクトリーへの道筋〜工場データをAI Readyにする実践ステップ〜
hamadakoji
1
700
ExpoのインダストリーブースでみたAWSが見せる製造業の未来
hamadakoji
0
360
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
740
re:Inventにおける製造業のこれまでとこれから
hamadakoji
0
670
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
590
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
1
620
OTとITが手を取り合って進める製造業DXの進め方〜食品製造業でのDX事例を元に〜
hamadakoji
2
850
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
2.7k
Other Decks in Technology
See All in Technology
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1.1k
【ハノーバーメッセ振り返りイベントat名古屋】データは集約からAI起点の収集に ~組織内・組織間でのデータ連携~
tanakaseiya
0
130
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
210
権限管理設計を完全に理解した
rsugi
2
220
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
870
最低限これだけ押さえれ大丈夫_Claude Enterprise/Team企業展開ガバナンス入門
tkikuchi
1
260
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
110
なぜハノーバーメッセに行くべきなのか 〜初参加だから語れること〜
tanakaseiya
0
140
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
690
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
130
AI時代に改めて考える、ドメイン駆動設計 - モデリングが「AIへの共通言語」になる
littlehands
8
2.6k
Amazon Bedrock 経由の Claude Cowork を試してみよう・MCP にも繋いでみよう
sugimomoto
0
200
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
130
Crafting Experiences
bethany
1
160
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
We Have a Design System, Now What?
morganepeng
55
8.1k
The SEO Collaboration Effect
kristinabergwall1
1
460
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
360
Design in an AI World
tapps
1
220
Marketing to machines
jonoalderson
1
5.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Deep Space Network (abreviated)
tonyrice
0
150
GraphQLとの向き合い方2022年版
quramy
50
15k
Transcript
雰囲気でコンテナ使っている 全ての⼈が読むべき 「コンテナ技術⼊⾨」の紹介
@hamako9999 濱⽥孝治 (ハマコー) 2
3 最初にお聞きしたい 皆さん、この記事ご存知ですか︖
4 はてブ︓1266 https://employment.en- japan.com/engineerhub/entry/2019/02 /05/103000
5 さらにお聞きしたい 最後まで読んで実⾏された⽅は︖
6 ⼀⾔ なんてもったいない︕︕
7 話すこと • 「コンテナ技術⼊⾨」にかかれていること • 「コンテナ技術⼊⾨」やって感じたこと • 「コンテナ技術⼊⾨」が素晴らしいところ
8 「コンテナ技術⼊⾨」 に書かれていること
9 基本はこれ コンテナをささえている要素技術
10 コンテナを⽀える要素技術 • Namespace • cgroup • Capability • chrootとpivot_root
• OverlayFS • Network Namespace
11 コンテナを⽀える要素技術 • Namespace → カーネルリソースの隔離 • cgroup → リソース制限
• Capability → 権限制限 • chrootとpivot_root → 権限制限 • OverlayFS → ファイルシステムの階層化 • Network Namespace → ネットワークの隔離
12 この記事の最⼤の特徴 Dockerコマンドを⼀切使わず コンテナを ⼿を動かして作る
13 盛り上がってきた 俺もやるときがきたか…!! ( ゚д゚) ガタッ / ヾ __L| / ̄ ̄ ̄/_
\/ /
14 実⾏環境の⽤意⽅法 • Vagrant (ubuntu) • 記事における動作確認環境 • Vagrantfileが記載されているのでそれを実⾏ •
AWS(EC2) • Ubuntu Server(18.04)あたりのAMIから起動 • その他、Ubuntuならそのまま動きそう
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 だいたい、これぐらいやれば動く
16 要素技術の解説 (抜粋)
17 「コンテナを作る」 <事前準備> • cgroupでリソース(CPUとメモリ)制限 • Namespaceでリソース隔離 • コンテナ内で「yes >/dev/null」
<動作確認> • 別シェルでps(プロセス)確認 • topコマンドで利⽤時間確認 コンテナのなかでなに をどうやっても、CPU 利⽤率があがらん︕︕
18 「OverlayFS」 <事前準備> • サンプルのDockerfile確認 • LAYER1の作成(既存イメージの展開) • LAYER2の作成(LAYER1にcurlを埋め 込み)
<動作確認> • LAYER1と2をOverlayFSでコンテナイ メージ作成 イメージのレイヤーっ てこれかよ︕
19 「ネットワークリソースの隔離」 <事前準備> • ネットワークブリッジ作成 • Network Namespace作成 • vethペアを作成、ネットワークブ
リッジに追加 • デフォルトゲートウェイ設定 <動作確認> • ブリッジとNamespaceのの疎通確認 ネットワークリソース が隔離されるなんて なんかもう凄い︕
20 「コンテナ技術⼊⾨」 やって感じたこと
21 「コンテナ技術⼊⾨」やって感じたこと • しんどい • (⼈によるが)知らないコマンドが多すぎる • 都度調べてると、いくらでも時間が溶けていく • Dockerを最低限知ってないと楽しくない
• Docker知らない状態でやると、⾯⽩くない • 結構な時間がかかる • あれこれ調べながらだと、最低6時間はかかる • ざざーっと⼀度最後まで通してやってみるのもオススメ
22 「コンテナ技術⼊⾨」が 素晴らしいところ
23 より深く、Docker、そしてコンテナを 感じ、学ぶためのきっかけとなる
24 深掘りできるところ • なぜ、ランタイムがこんなに⼭のようにあるのか︖ • なぜ、Dockerfileの書き⽅が、イメージサイズに直 結するのか︖ • なぜ、複数コンテナたてたときのネットワーク管理 があんなにめんどいのか︖
• なぜ、Fargateみたいなホストインスタンスがない コンテナの運⽤がでてきたのか︖
25 ここにいる皆さんは コンテナ好きですよね︖
26 あと何年 コンテナと付き合っていきますか︖
27 ⼀度Linuxの要素技術でコンテナが どのようにして動いているか体験することで コンテナの使い所や 進化の⽅向性が⾒えてくる
28 最後に
29 圧倒的感謝を︕ @hayajo
30 コンテナで楽しいエンジニアライフを 濱⽥孝治(ハマコー) @hamako9999