Friday, January 22, 2021

Azure: Selecting a Virtual Machine Capable of Running Docker

In the post, Configuring VMWare Fusion to Support Docker Running on the Guest OS, it was pointed out that nested virtualization consumed a significant number of resources. Windows 10 running under VMWare Fusion on a MacBook Pro 2017 with an I7 and 16 GB of RAM was unusable when a Docker container was run on the Guest OS. One way to avoid purchasing a new computer is to create a virtual machine in Azure or AWS that is capable of Docker development. Microsoft provides a $150 per-month Azure credit with an MSDN subscription which makes an extremely powerful virtual machine cost nothing provided the VM is deallocated when not in use. 

Rather naively, a B Series Azure VM was created. The Docker Desktop crashed with an error when run on this virtual machine. The error stated that virtualization was not supported and the BIOS should be modified to support virtualization. As it turns out, not all VM series in Azure support nested virtualization. The innocuous blog post, Nested Virtualization in Azure, on Microsoft's Azure site identifies that nested virtualization is supported by Dv3 and Ev3 series virtual machines. Later versions than V3 of the D and E series virtual machines also support nested virtualization.

A VM was created using a Standard D-Series V4 (8 vcpus, 32 GiB memory) virtual machine at a cost of $373.03 per-month in West US. By deallocating the VM when not in use it can be run eight hours a day, seven days a week without exceeding the $150 per-month free credit. Docker ran without issue on the D-Series V4 (8 vcpus, 32 GiB memory) virtual machine.

Appendix A: Azure Virtual Machine Series

Azure's documentation on virtual machines, Virtual Machine series, presents a comprehensive overview of the virtual machine series (categories). Excerpts from this documentation are as follows:

No comments :

Post a Comment