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
37
Docker for Windows/macOS
社内勉強会(2023/12/8)にて発表。もう少し調べてからアップロードしたかったけれど、
発表日からそろそろ1年経つので、ここまででも役に立つ資料だからアップロード!
ハトネコエ
December 08, 2023
Tweet
Share
More Decks by ハトネコエ
See All by ハトネコエ
日経が読める?! 株式市場の基礎 / Stock Market Basics
nekonenene
0
28
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
4
2.8k
今年こそ知るべきセキュリティー入門 / Security Basics 2025
nekonenene
0
58
Godot 4.3 と学ぶインタラクティブミュージック / Interactive Music Basics with Godot 4.3
nekonenene
0
170
Developer Consoleを使い倒そう / Use Web Browser DevTools
nekonenene
0
47
まだまだマイナー?! 未踏事業について教えます / Introduction of Mitou Project
nekonenene
1
140
技術的負債を防ぐには / What is the Technical Debt
nekonenene
0
340
画像処理の基礎の基礎 / Ultra Basic of Image Processing
nekonenene
0
56
伝わる文章を書こう講座 / Write the Kind Japanese Message
nekonenene
2
160
Other Decks in Technology
See All in Technology
C# 14 / .NET 10 の新機能 (RC 1 時点)
nenonaninu
1
890
AIを導⼊しても、 開発⽣産性は"爆増"していない なぜ?
kinosuke01
4
3.4k
非同期処理実行基盤 Delayed脱出 → Solid Queue完全移行への旅路。
srockstyle
3
1k
Goを使ってTDDを体験しよう!
chiroruxx
1
170
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
690
最近話題のForward Deployed EngineerとPalantirについて調べてみた / Recently popular topics: Forward Deployed Engineer and Palantir
jumtech
0
130
施策が均質化する採用市場で何を捨て 何を大事にしていくかを考える
akyun
0
220
避けられないI/O待ちに対処する: Rails アプリにおけるSSEとasync gemの活用 / Tackling Inevitable I/O Latency in Rails Apps with SSE and the async gem
moznion
2
1.5k
今日から始めるpprof / Pprof workshop for beginners
ymotongpoo
6
710
AI時代に活躍できるエンジニアとは #弁護士ドットコム
bengo4com
0
220
業務でAIの力を最大限に発揮するために #弁護士ドットコム
bengo4com
0
280
マルチデータプロダクトの開発を支えるデータの民主化の仕組み
kevinrobot34
1
100
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Practical Orchestrator
shlominoach
190
11k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Bash Introduction
62gerente
615
210k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
How to Think Like a Performance Engineer
csswizardry
27
2k
Code Reviewing Like a Champion
maltzj
525
40k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
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 アーキテクチャを使用して
作られているらしい • もう少し調べないと自信ない