Docker on M1関連
Apple Silicon M1 Chips and Docker - Docker Blogを見ると
Docker Desktop for Mac がMacでのDocker 実行環境
- 裏で、VMを動かし、その上でLinuxを動かしている
- VMを動かすために、Appleのhypervisor frameworkを使用しており、その対応 がないとM1で動かせない
- それ以外にも、細かいところで、goやElectronの対応などもある
Hypervisor | Apple Developer Documentation
このM1対応が必要?
Intel Macの場合は、Intelの hardware-assistedなvirtualizationに依存しているはず。M1はどうなってるんだろう・・・
- ARMの仮想化とは?
そもそも仮想化には
ホスト型
とHypervisor型
の方式がある- ARMへの移行で変わるMacの「仮想化」 - 新・OS X ハッキング!(269) | マイナビニュース
- ホスト型では、HWアクセスが、必ずホストOSを通過するので、オーバーヘッド大きい
- 一方、Hypervisor型では、直接HWを制御ができる。これには、HWのアシストが必要で、Intelの場合はVT-X, EPTで、それに対するFWとして、MacではHypervisor.frameworkが存在する
- つまり、x86-64に依存しているということ
Docker Desktop 3.0.0: Smaller, Faster Releases - Docker Blog
- Previewでは対応版が公開されているとのこと、早い