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
13
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
76
Developer Consoleを使い倒そう / Use Web Browser DevTools
nekonenene
0
13
まだまだマイナー?! 未踏事業について教えます / Introduction of Mitou Project
nekonenene
1
110
技術的負債を防ぐには / What is the Technical Debt
nekonenene
0
300
画像処理の基礎の基礎 / Ultra Basic of Image Processing
nekonenene
0
27
伝わる文章を書こう講座 / 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
10k
なぜ社内勉強会をするのか
nekonenene
0
140
Other Decks in Technology
See All in Technology
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.4k
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
600
Larkご案内資料
customercloud
PRO
0
650
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
Building Products in the LLM Era
ymatsuwitter
10
5.5k
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.2k
Culture Deck
optfit
0
420
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3k
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
590
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
740
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
310
Featured
See All Featured
RailsConf 2023
tenderlove
29
1k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Site-Speed That Sticks
csswizardry
4
380
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Bash Introduction
62gerente
611
210k
Thoughts on Productivity
jonyablonski
69
4.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
Fireside Chat
paigeccino
34
3.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
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 アーキテクチャを使用して
作られているらしい • もう少し調べないと自信ない