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 濱田孝治
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
150
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
0
160
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
1.9k
製造業における生成AI活用のユースケースと関連技術要素(RAG,MCP)の解説
hamadakoji
0
150
MCPを利用して自然言語で3Dプリントしてみよう!
hamadakoji
0
2.2k
初参加のハノーバーメッセで感じた世界最大級イベントの熱気とAI活用の未来
hamadakoji
0
330
GrafanaをClaude DesktopからMCPで触ってみた
hamadakoji
0
3.2k
製造現場データ活用の扉を開く!PLCデータのクラウド連携で実現する可視化と活用の未来
hamadakoji
0
35
ObservabilityCON on the Road Tokyoの見どころ
hamadakoji
0
560
Other Decks in Technology
See All in Technology
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
2.1k
なぜAWSを活かしきれないのか?技術と組織への処方箋
nrinetcom
PRO
5
1k
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
0
220
ソースを読むプロセスの例
sat
PRO
15
9.5k
エンタメとAIのための3Dパラレルワールド構築(GPU UNITE 2025 特別講演)
pfn
PRO
0
590
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
380
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
事業開発におけるDify活用事例
kentarofujii
4
1.1k
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
160
ニッポンの人に知ってもらいたいGISスポット
sakaik
0
180
初めてのDatabricks Apps開発
taka_aki
1
210
OSSで50の競合と戦うためにやったこと
yamadashy
3
570
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.7k
Statistics for Hackers
jakevdp
799
220k
Code Review Best Practice
trishagee
72
19k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Context Engineering - Making Every Token Count
addyosmani
7
270
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Music & Morning Musume
bryan
46
6.9k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Documentation Writing (for coders)
carmenintech
75
5.1k
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