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
Docker for Windows/macOS
Search
ハトネコエ
December 08, 2023
Technology
0
5
Docker for Windows/macOS
社内勉強会(2023/12/8)にて発表。もう少し調べてからアップロードしたかったけれど、
発表日からそろそろ1年経つので、ここまででも役に立つ資料だからアップロード!
ハトネコエ
December 08, 2023
Tweet
Share
More Decks by ハトネコエ
See All by ハトネコエ
Godot 4.3 と学ぶインタラクティブミュージック / Interactive Music Basics with Godot 4.3
nekonenene
0
33
Developer Consoleを使い倒そう / Use Web Browser DevTools
nekonenene
0
4
まだまだマイナー?! 未踏事業について教えます / Introduction of Mitou Project
nekonenene
1
89
技術的負債を防ぐには / What is the Technical Debt
nekonenene
0
290
画像処理の基礎の基礎 / Ultra Basic of Image Processing
nekonenene
0
21
伝わる文章を書こう講座 / Write the Kind Japanese Message
nekonenene
2
140
Unity で Android 自動ビルドしたかった話 / I tried Android build of Unity using Docker, but...
nekonenene
0
2.1k
これでわかるB-treeアルゴリズム / B-tree algorithm
nekonenene
12
9.7k
なぜ社内勉強会をするのか
nekonenene
0
140
Other Decks in Technology
See All in Technology
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
Lambdaと地方とコミュニティ
miu_crescent
2
370
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
170
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
990
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
Featured
See All Featured
Site-Speed That Sticks
csswizardry
0
24
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Writing Fast Ruby
sferik
627
61k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
It's Worth the Effort
3n
183
27k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Documentation Writing (for coders)
carmenintech
65
4.4k
Done Done
chrislema
181
16k
Transcript
%PDLFSGPS8JO.BD ݄ ԣߐ྄༎ ʙͳΜͰ-JOVY͕ಈ͘ͷ͔ͷུ֓ʙ
%PDLFS͕ੜ·ΕΔҎલ • 「VirtualBox」という アプリケーションが よく使われていた • その中で OS
を起動させ 動かす仕組み (ը૾ݩ: https://knowledge.sakura.ad.jp/13265/ )
%PDLFS͕ੜ·ΕΔҎલ • 手作業で OS をダウンロードして 必要に応じて起動&セットアップするのは 面倒なので、「Vagrant」が使われていた •
起動は便利になったが、動作スピードの面 では課題があった
%PDLFS͕ੜ·Εͨ • 2013年に発表・公開 • 2014年には Docker は v1.0 を迎え、
Docker Hub がオープン。 Google は Kubernetes を公開 • 日本でも2014年から勉強会が増え出す
%PDLFSͷ֓ཁ • Linux の Namespaces(名前空間) や cgroups などの機能を活用し、 1つのOS内であたかも複数のマシンが
動いているかのようにできる • CPUやメモリに直接アクセスできるので高速
(ը૾ݩ: https://www.undercoverlog.com/entry/2018/10/01/ Docker%E3%81%AE%E5%8B%95%E4%BD%9C%E5%8E%9F%E7%90%86%EF%BC%88%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93/cgroups%EF%BC%89 )
ͪΖΜ.BDͰ ΘΕΔΑ͏ʹ
ɾɾɾ͋Εʁ
.BD-JOVYͰͳ͍ • DockerはLinuxの 機能を活用して 作られている • MacはLinuxでも、
その系列でもない (ը૾ݩ: https://nitkpc.com/unix/unix.php )
Ͳ͏ͳ͍͔ͬͯͨ
%PDLFSJO.BDʢॳظʣ • 初期の Docker を Mac で動かす方法は VirtualBox だった
• VirtualBox で Linux を動かし、 その Linux 内で Docker を起動する • 当然遅かった
%PDLFSJO.BDʢʣ • 2016/07/28、Docker for Mac/Windows の Stable 版がリリース • OS
X Yosemite(2014〜)に搭載された Hypervisor.framework を使用するように。 Intel VT を制御して、複数OSを効率よく 動かせるようになった
*OUFM75 • VT は Virtualization Technology(仮想 化技術)の略。CPUに組み込まれている • 1台のマシンで複数のOSを瞬時に切り替 えながら動かせるようハードウェア的なサ
ポートをしている
8JOEPXTͷ߹ • Hypervisor.framework と同様、 Intel VT を制御することで、1つのOSで 複数のOSをOSレベル(カーネルレベル)
で扱えるようにした「Hyper-V」 を使用 • Windows Server 2008 から搭載
8JOEPXTͷ߹ʢ࠷ۙʣ • Hyper-V は Windows 11 Pro で使えるが Windows
11 Home では使えない • Home ではどうするかというと Windows Subsystem for Linux で 動いている
84-)ZQFS7ʁ • WSL2(Windows Subsystem for Linux)は Hyper-V アーキテクチャを使用して
作られているらしい • もう少し調べないと自信ない