Hyper-V有効でVagrantとDocker共存できるようになったようなので、Vagrant用のPCにDockerをインストールしてみる。
OS:Windows10Pro
VirtualBox:6.09
Vagrant:2.2.9
準備
・バージョン確認
winver
21H2(19044)
・Hyper-Vが有効化されているか確認する
[設定]-[Windowsの機能の有効化または無効化]にあるHyper-V
にチェックが入っている事
OK
・Ubuntsu v20をインストールする
# Windows10だとwslはインストールされているので、ディスとリビュージョンをインストールする
# OnlineInstall可能なディスとリビュージョンのリスト表示
wsl --list --online
# Ubuntsu(LTS最新)をインストール
wsl --install -d Ubuntu-20.04
・Docker DeskTopをインストール
https://docs.docker.com/desktop/windows/install/
起動エラー
DockerforDeskTop起動時にエラーが発生する。
Hardware assisted virtualization and data execution protection must be enabled in the BIOS. See https://docs.docker.com/desktop/windows/troubleshoot/#virtualization
各項目確認
https://docs.docker.com/desktop/windows/troubleshoot/#virtualization
の確認項目をチェックしたが、問題はなさそう。
- Bios-Security-Virtual関連が有効化されているか確認
- [設定]-[Windowsの機能の有効化または無効化]にある下記項目が有効化されていることを確認
・仮想マシン プラットフォーム
・Hyper-V
・Linux用Windowsサブシステム - [タスクマネージャ]-[パフォーマンス]-[仮想化]が
有効
となっていることを確認
対策
稀にHyper-Vが壊れることがあるらしく、[設定]-[Windowsの機能の有効化または無効化]の下記項目を一旦無効化 -> 再起動 -> 有効化 -> 再起動にて正しく起動するようになった
・仮想マシン プラットフォーム
・Hyper-V
・Linux用Windowsサブシステム
Vagrantが起動しない
Dockerインストール後にVagrantの起動を確認したら、下記のエラーが発生した。
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
- Vagrant + VirtualBoxのアップデート
VagrantとVirtualBoxをアップデートしたら、正しく起動するようになった。
Vagrant:2.2.9 -> 2.2.19
VirtualBox:6.09 -> 6.1.3
検証
・DockerDeskTopのチュートリアルコンテナを起動できることを確認:OK
・以前作成していたVagrantファイルがVagrant upできること確認:OK
参考
・WLS2のインストール
https://docs.microsoft.com/ja-jp/windows/wsl/install#manual-installation-steps
・VagrantとDockerの共存
https://qiita.com/jerfareza/items/b2deefe86a950f91aafd
・WindowsにDockerをインストール
https://chigusa-web.com/blog/windows%E3%81%ABdocker%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6python%E7%92%B0%E5%A2%83%E3%82%92%E6%A7%8B%E7%AF%89/
・DockerのWindowsインストーラー
https://docs.docker.com/desktop/windows/install/