December 6th 2021 Update:
I'm pleased to let you know that a brand new version of the lab has been released. Whilst this from a cosmetics viewpoint will look the same, there are many enhancements that have taken place. Please review this in it's entirety before continuing as this are some important steps mentioned -
cgroups v2: Linux Control Groups are a major component of the Linux OS and traditionally, most Linux systems used cgroups v1. Recently some of the newer distributions of Linux such Fedora >= 31, Debian 11 (Bullseye) and Ubuntu 21, have made the switch to cgroups v2. This change originally caused problems for this lab (with it being systemd based) and problems in other areas for people with the likes of Docker and Kubernetes. The workaround was to downgrade to cgroups v1 as a Kernel boot option. The lab images have now been updated and provide native support for both cgroups v1 and v2 distributions!
Windows WSL Subsystem support: When Docker is installed on Windows it uses the default Windows Subsystem Layer. Some users of Windows however, preferred to install one of the specific Windows subsystems like Ubuntu/Debian. In these instances, the environment required tweaking for it work accordingly owing to the custom subsystem being a stripped down version with systemd removed. This has now been resolved and WSL Subsystems will also just work as expected, without any changes!
Safari 15 (Mac): Apple changed their rendering engine to use WebGL instead of Dom and this resulted in invisible text, when using the lab web terminals. The images have now been updated with a newer version of the xterm libraries that fix this issue
Docker Desktop version 4.3.0 was released on the 2nd December 2021: It was noticed that the lab failed with this update with instances failing with an exit code of 255. This behaviour is what was seen with cgroups v2 above. Whilst it is not mentioned in the Docker release notes, I believe they may have updated their hidden virtual machine to a distribution that uses cgroups v2. As per the cgroups v2 context above this is now resolved with this newer version of the lab
Important! Customisation of the .env file: In the video that follows, I tell you to customise the .env file according to your OS and where you've checked out the lab code. Since creating both the video and the lab, Docker has improved across all platforms and I've been able to implement a configuration that should work by default on all platforms without any changes. Therefore, you will only need to make changes to this file if you experience issues logging in as the ansible user (using the password of password)
Finally, there is now also a diveintoansible-lab instance that can easily be executed in the cloud using Google's Free Cloudshell Tier. For this, a standard Google account is required. The lab setup process in Cloudshell can be started with a single click and a setup tutorial will appear on the right hand side. Please see https://diveinto.com/p/playground
Whilst the new Google Cloudshell based lab is convenient and is great for spinning up an Ansible lab in a matter of minutes or for adhoc experimentation, a locally running lab has improved latency and you'll also benefit from data persistence (any custom playbooks you create will remain on your system between lab restarts).
There's a lot of information here and I'm going to be re-creating the next video to cover this. The recent push of Docker Desktop which broke the lab has accelerated the release of this new version, hence the text note. I hope all of the above is useful to you and any questions/issues with the lab, please reach out and I'll help accordingly. I'd always prefer to help you on a 1-2-1 basis than you experiencing any disappointment
Many Thanks
James Spurin