WindowsにDockerを入れようとして失敗した話
今回は失敗談。
自プロジェクトで使用していたJenkins環境がとある事情でお亡くなりになったため、再構築をしようとしていたときのお話です。どうせならDockerを使おうと、Docker Desktop を Windows に入れようとしました。
以前にMacに入れたことがあったので、軽い気持ちで考えていました。
Docker Desktop for Windows は Hyper-V を有効化する必要がある
以下の記事を参考に、Docker Desktop をインストールすることはスムーズに行えました。
VirtualBoxが起動しない…?
ところがその後開発やテストで使用していたVirtualBoxが急に動作しなくなりました。思えばDockerをインストールした際の再起動時にVirtualBoxがエラーダイアログを出していたため、予兆はあったのですが、てっきりそのせい(シャットダウン時に何かあったんだろう)だと思いこんでしまっていました。
その後VMが起動時にエラーとなり、VMのイメージを削除しても、VirtualBox自体を再インストールしても解決することはなく、完全に詰んだと思いました。
そこから冷静になって考え始めたころ、Docker入れた後にこうなったなと漸く気づき、Hyper-Vを有効化したことが原因だとわかりました。かなりテンパっていたので気づくのがとても遅かったです…。
Hyper-Vを無効化してひとまず解決
その環境でDocker Desktopを使用することは諦めHyper-Vを無効化することでVM環境は復旧できたのですが、数時間はハマっていたのでなかなか手痛い経験でした。以下はそのときに参考になったサイトです。ありがとうございました。
ただ自分はこのやり方でも完全にアンインストールすることができませんでした*1。そのため以下コマンドを実行して無効化しました。
bcdedit /set hypervisorlaunchtype off
VirtualBox他VMと共存させるなら Docker Toolbox
VirtualBoxは6.0以降ならHyper-Vと共存できるようですが、WindowsにDocker DeskTopをインストールするにはWin10Proが必要なので、ひとまずDocker Toolboxを選択しておくのが良さそうです。次回はこちらにチャレンジ してみようと思います。
まとめ
Hyper-Vを有効化する際はVirtualBox他VMとの共存が可能かチェックする
WindowsならDocker ToolBoxを選択しておくのがよい
別の環境で練習してから試す
困ったときほど冷静になって思考を整理する
*1:ネットワークアダプターなども削除したが無効化することができず…。Hyper-Vのコンソールからイメージなども全て消してみたりもしたがダメ。まだ何かゴミが残っていた?