なぜこの記事を書いているか
Windows10で開発を行っている人には一定量居るはずの「DockerとVagrant共存できないんだよね」「VirtualBox 6.0から対応しているはずなのに、、、」をクリアしたく色々とドキュメントやフォーラムを読んだ結果、手元で共存することができたので情報共有です。
ただし現時点でVMの起動に失敗したり、HOST=>GUEST間でvagrant-vbguestのSCPが失敗することがあるなど制限付きです。ご利用は計画的に。
まとめ
- Docker Desktop, VirtualBox, Vagrantをアンインストール後、改めてインストール(アンインストールはしなくても良いかも)
- Docker Desktopは終了しておく(念のため)
- Hyper-Vが有効になっているか確認する(念のため)
- 以下をPowerShell(管理者)から実行(パスなどは読み替えて下さい)
powershell
> cd "C:\Program Files\Oracle\VirtualBox"
> VBoxManage.exe setextradata global "VBoxInternal/NEM/UseRing0Runloop" 0
あとはDocker Desktopを起動してDockerとVirtualBoxが共存して動作することを確認します。
自分の手元で起こった現象
- VMが起動中にカーネルパニックを起こして起動しない
- VT-xで動作していたよりもVirtualBoxのVMの起動時間が遅い(これはある程度わかっていた事)
- Hyper-VとVirtualBoxでネットワーク周りの相性が悪いのか、HOST=>GUEST間のSCPがエラーで異常終了することがある(vagrantがrubyのエラー画面を出して止まる)
最後に
まだ起動に成功しただけなのでちゃんとは動作確認をしていません。まずは皆さんに情報共有をと思い簡単にまとめました。Dockerだけで良い環境になればハッピーなんですが、世の中そうもいかず、、、
参考にしたサイトなど
- https://qiita.com/takotakot/items/94d3218cf8de5b2c1da8
- https://forums.virtualbox.org/viewtopic.php?f=6&t=90853&sid=110194cc8e88778f9675f93d06ddd51e&start=150
ほかにも色々見たと思うのですが、どのサイトを参考にさせて頂いたのか既に記憶に無く(スミマセン)