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
濱田孝治
July 05, 2019
Technology
9
29k
雰囲気でコンテナ使っている 全ての人が読むべき 「コンテナ技術入門」の紹介
コンテナを根っこから理解するのに最適なテキスト「コンテナ技術入門」の紹介です。
濱田孝治
July 05, 2019
Tweet
Share
More Decks by 濱田孝治
See All by 濱田孝治
re:Inventにおける製造業のこれまでとこれから
hamadakoji
0
350
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
500
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
1
540
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
2.1k
製造業における生成AI活用のユースケースと関連技術要素(RAG,MCP)の解説
hamadakoji
0
200
MCPを利用して自然言語で3Dプリントしてみよう!
hamadakoji
0
2.3k
初参加のハノーバーメッセで感じた世界最大級イベントの熱気とAI活用の未来
hamadakoji
0
350
GrafanaをClaude DesktopからMCPで触ってみた
hamadakoji
0
3.4k
製造現場データ活用の扉を開く!PLCデータのクラウド連携で実現する可視化と活用の未来
hamadakoji
0
43
Other Decks in Technology
See All in Technology
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
780
『ソフトウェア』で『リアル』を動かす:クレーンゲームからデータ基盤までの統一アーキテクチャ / アーキテクチャConference 2025
genda
0
150
AIで加速する次世代のBill Oneアーキテクチャ〜成長の先にある軌道修正〜
sansantech
PRO
1
100
レガシーシステム刷新における TypeSpec スキーマ駆動開発のすゝめ
tsukuha
3
690
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
570
都市スケールAR制作で気をつけること
segur
0
200
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
2
1.1k
LINEギフト・LINEコマース領域の開発
lycorptech_jp
PRO
0
370
新しい風。SolidFlutterで実現するシンプルな状態管理
zozotech
PRO
0
140
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
17
12k
AI エージェントを評価するための温故知新と Spec Driven Evaluation
icoxfog417
PRO
2
710
未回答質問の回答一覧 / 開発をリードする品質保証 QAエンジニアと開発者の未来を考える-Findy Online Conference -
findy_eventslides
0
410
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Building Adaptive Systems
keathley
44
2.8k
The Language of Interfaces
destraynor
162
25k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Git: the NoSQL Database
bkeepers
PRO
432
66k
The Invisible Side of Design
smashingmag
302
51k
Why Our Code Smells
bkeepers
PRO
340
57k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
How GitHub (no longer) Works
holman
315
140k
Into the Great Unknown - MozCon
thekraken
40
2.2k
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