This is a semin-automated guide for a Azure Lab VM Setup. Feel free to automate the missing steps on a seperate branch in your fork and create a pull request. An introduction video into forks and pull requests can be found here
In order for Docker to work on a Windows 10 VM you need to install Hyper-V or use Windows Subsystem for Linux 2 (WSL2). Therefore you must use hardware that supports Nested Virtualization. A detailed Setup Guide can be found here.
Script create-lab-vm.azcli
:
rnd=$RANDOM
loc=westeurope
grp=az-lab
vmname=labvm-$rnd
user=azlabadmin
pwd=Lab@dmin1234
az group create -n $grp -l $loc
az vm create -g $grp -n $vmname --admin-username $user --admin-password $pwd --image MicrosoftWindowsDesktop:Windows-10:20h1-pro-g2:19041.928.2104091205 --size Standard_E2s_v3
az vm auto-shutdown -g $grp -n $vmname --time 1830
Note: The image name of the Windows 10:20h2 image changes frequently. You might have to update the image name. Get a list of all Windows 10 images: az vm image list -f "Windows-10" --location westeurope --all
. Remember to support WSL2 you must have at least patch level 20h2
You could also execute create-lab-vm.sh
or run the following remote script in Cloud Shell
curl https://raw.githubusercontent.com/ARambazamba/AZ-204/main/Setup/create-lab-vm.sh | bash
Go to Ressource Group az204-lab
and connect to VM using RDP and the credentials that you have used in the script:
Download RDP File:
Optional - Disable Login:
Sign In & Remember:
Credentials:
user=azlabadmin
pwd=Lab@dmin1234
Accept Settings:
To install Software run the script setup-az-204.ps1
from an elevated PowerShell prompt:
Set-ExecutionPolicy Bypass -Scope Process -Force;
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/ARambazamba/AZ-204/master/Setup/setup-az-204.ps1'))
Note: This script will run for approx 20 min. No need to wait! In the meantime you can continue to fork and clone my repo as described in the next section.
Congratulations you have completed the base setup of a labs vm!
Set User and E-Mail in order to be able to commit to git:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
Go to https://github.com/ARambazamba/az-204
and fork the repo
The forking-workflow allows you to commit your changes to your fork of the repo and still get updates on the repo
Clone Class Repo:
git clone https://github.com/Student01/az-204
Note: If you have forked the class repo clone your own fork, otherwise use https://github.com/ARambazamba/az-204
There are two options to configure Docker support. WSL2 recommended
Install Hyper-V using setup-docker.ps1
and restart after execution.
Check Docker Settings:
Execute script setup-wsl2.ps1
multible times to setup WSL2
Set-ExecutionPolicy Bypass -Scope Process -Force;
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/ARambazamba/AZ-204/master/Setup/setup-wsl2.ps1'))
First Run:
Second Run:
After the second run your selected linux distro will be opened an you can set your username:
Note: You can take the same credntials just like on the Windows VM
user=azlabadmin
pwd=Lab@dmin1234
Install Docker Desktop using an elevated Powershell:
choco install docker-desktop -y
Log off and on after installation:
Note: Enter
logoff
in the current console
Start Docker Desktop and switch to settings:
Check the WSL2 settings:
In the console window execute:
docker run hello-world
To avoid switching between Host an VM you can use Microsoft Teams in the VM and use Audio Redirection
Edit RDP Connection:
Redirect Audio:
Use Secondary Display: