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
28k
雰囲気でコンテナ使っている 全ての人が読むべき 「コンテナ技術入門」の紹介
コンテナを根っこから理解するのに最適なテキスト「コンテナ技術入門」の紹介です。
濱田孝治
July 05, 2019
Tweet
Share
More Decks by 濱田孝治
See All by 濱田孝治
初参加のハノーバーメッセで感じた世界最大級イベントの熱気とAI活用の未来
hamadakoji
0
220
GrafanaをClaude DesktopからMCPで触ってみた
hamadakoji
0
1.8k
製造現場データ活用の扉を開く!PLCデータのクラウド連携で実現する可視化と活用の未来
hamadakoji
0
8
ObservabilityCON on the Road Tokyoの見どころ
hamadakoji
0
470
製造現場のデジタル化における課題とPLC Data to Cloudによる新しいアプローチ
hamadakoji
0
700
可視化プラットフォームGrafanaの基本と活用方法の全て
hamadakoji
3
2.6k
20分で完全に理解するGrafanaダッシュボード
hamadakoji
5
3.6k
GuadDutyによるコンテナランタイム脅威検知にすべて〜その凄さと設定注意点と検知の様子をまるっとお届け〜
hamadakoji
4
1.6k
re:Invent2023で体験したIoT面白ワークショップ〜お絵描き2Dロボットの構築〜
hamadakoji
0
860
Other Decks in Technology
See All in Technology
TypeScript と歩む OpenAPI の discriminator / OpenAPI discriminator with TypeScript
kaminashi
1
160
Autocon3 - Building Trustworthy Network Automation, From Principles to Practice
dgarros
2
110
S3 Tables を図解でやさしくおさらい~基本から QuickSight 連携まで/s3-tables-illustrated-basics-quicksight
emiki
2
360
やさしいClaude Code入門
minorun365
PRO
39
30k
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
1.3k
[zh-TW] DevOpsDays Taipei 2025 -- Creating Awesome Change in SmartNews!(machine translation)
martin_lover
1
680
セキュリティSaaS企業が実践するCursor運用ルールと知見 / How a Security SaaS Company Runs Cursor: Rules & Insights
tetsuzawa
1
1.3k
Applied NLP in the Age of Generative AI: Future-Proof Strategies for Banking and Finance
inesmontani
PRO
0
160
大手企業のAIツール導入の壁を越えて:サイバーエージェントのCursor活用戦略
gunta
32
12k
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
おれのAI活用の現状とこれから
tsukasagr
0
110
ソフトウェアテストのAI活用_ver1.10
fumisuke
0
250
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Building Adaptive Systems
keathley
41
2.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Unsuck your backbone
ammeep
671
58k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Balancing Empowerment & Direction
lara
1
98
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
A Tale of Four Properties
chriscoyier
159
23k
Code Reviewing Like a Champion
maltzj
523
40k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
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