An instant to use Linux VM for workshops, code labs and hackathons for Windows and Mac
is an easy to setup and ready to use Linux Desktop designed to provide students an equal starting position and an instant kickstart during workshops. After the installation of the VM students will only use this VM during the session. The VM should bring all the needed tools for the workshop.
This VM was initially designed for 8gears Docker, Kubernetes or OpenShift workshops. However it can also be used for any other type of coding, developing, hacking workshop. Pull requests are welcomed to add more functionality.
- Workshop VM is based on Ubuntu 16.04 with Unity Desktop.
- Next to the main WM two small Docker Worker Nodes allow to build clustered environments.
- Vargrant is used to install and configure the VM.
- Additional provision scripts install more tools and perform initial updates.
Only a minimal set of tools is required to be installed on the Host Machine. Mainly VirtualBox and Vagrant.
Supported Operating Systems
List of additional tools and application that are installed with the VM.
- Docker
- Docker Compose
- OpenShift CLI (OC)
- Visual Studio Code
- Git
- Admin rights on your Computer
- At least 10 GB of free space
- +8 GB of RAM (75% will be used for the VM)
To install Vargrant and VirtualBox we are going to use Chocolatly (a package manager for Windows). If you have both tools installed you can jump straight to the Install Workshop VM section.
If for what ever reasons you have difficulties visit the Chocolatly Install Website for alternative installation methods and a alternative explanation.
Ensure that you are using an administrative shell. Paste and execute the following line to install Chocolatly:
>"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Now we can use Chocolatly to install the other tools. If you don't have Git installed yet can append a third parameter git
.
> choco install -y virtualbox vagrant
You can continue now with the final step Install Workshop VM.
For the MacOS setup we are going to use Homebrew, a package manager for MacOS.
Open a terminal and paste the following line at a Terminal prompt.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew tap caskroom/cask
brew cask install virtualbox vagrant
Now is the part to actually install the VM itself and the setup scripts inside the VM
Download or clone this repository somewhere where your code has its home.
git clone https://github.com/8gears/workshop-vm.git
Enter the directory workshop-vm
and execute following command.
cd workshop-vm
> vagrant up
If the Ubuntu Desktop pops up, wait until all the provision scripts finish. You can track their progress in the terminal.
To finish the installation the last step is to verify that the WM is properly setup and working. Open a Terming and type the following:
docker run hello-world
The Hello from Docker
message shows that your installation appears to be working correctly.
After successfully initialization you can start and stop the vm with vagrant
command vagrant up
and vagrant halt
.
However it is also possible to do the same with the VirtualBox Manager GUI.
The username and password is in both cases vagrant.
During the workshop it is recommended to close all programs and stop unneeded process on the Host OS as this VM takes up 75% of the RAM.
Sometimes things don't run as expected, especially as they are many files that are downloaded from various sources. If an error should happen during the setup often it is already enough to run vagrant up
again.
- Community: If a newbie has a bad time, it's a bug.
- Software: Make it work, then make it right, then make it fast.
- Technology: If it doesn't do a thing today, we can make it do it tomorrow.
All contributions are welcome: ideas, patches, documentation, bug reports, complaints, and even something you drew up on a napkin.
Programming is not a required skill. Whatever you've seen about open source and maintainers or community members saying "send patches or die" - you will not see that here.
It is more important to me that you are able to contribute.
Apache License, Version 2.0