理由はそのうち考える

まずやってみよう

WindowsにDockerを入れようとして失敗した話

今回は失敗談。

自プロジェクトで使用していたJenkins環境がとある事情でお亡くなりになったため、再構築をしようとしていたときのお話です。どうせならDockerを使おうと、Docker Desktop を Windows に入れようとしました。

以前にMacに入れたことがあったので、軽い気持ちで考えていました。

aganik.hatenablog.com

Docker Desktop for WindowsHyper-V を有効化する必要がある

以下の記事を参考に、Docker Desktop をインストールすることはスムーズに行えました。

docs.docker.jp

qiita.com

VirtualBoxが起動しない…?

ところがその後開発やテストで使用していたVirtualBoxが急に動作しなくなりました。思えばDockerをインストールした際の再起動時にVirtualBoxがエラーダイアログを出していたため、予兆はあったのですが、てっきりそのせい(シャットダウン時に何かあったんだろう)だと思いこんでしまっていました。

その後VMが起動時にエラーとなり、VMのイメージを削除しても、VirtualBox自体を再インストールしても解決することはなく、完全に詰んだと思いました。

そこから冷静になって考え始めたころ、Docker入れた後にこうなったなと漸く気づき、Hyper-Vを有効化したことが原因だとわかりました。かなりテンパっていたので気づくのがとても遅かったです…。

Hyper-Vを無効化してひとまず解決

その環境でDocker Desktopを使用することは諦めHyper-Vを無効化することでVM環境は復旧できたのですが、数時間はハマっていたのでなかなか手痛い経験でした。以下はそのときに参考になったサイトです。ありがとうございました。

laboradian.com

ただ自分はこのやり方でも完全にアンインストールすることができませんでした*1。そのため以下コマンドを実行して無効化しました。

bcdedit /set hypervisorlaunchtype off

VirtualBoxVMと共存させるなら Docker Toolbox

VirtualBoxは6.0以降ならHyper-Vと共存できるようですが、WindowsにDocker DeskTopをインストールするにはWin10Proが必要なので、ひとまずDocker Toolboxを選択しておくのが良さそうです。次回はこちらにチャレンジ してみようと思います。

まとめ

  • Hyper-Vを有効化する際はVirtualBoxVMとの共存が可能かチェックする

  • WindowsならDocker ToolBoxを選択しておくのがよい

  • 別の環境で練習してから試す

  • 困ったときほど冷静になって思考を整理する

*1:ネットワークアダプターなども削除したが無効化することができず…。Hyper-Vのコンソールからイメージなども全て消してみたりもしたがダメ。まだ何かゴミが残っていた?