Virtualization has been a big part of my business for the 15 or so years. I used Virtual Box pretty heavily for my development environment. A few years ago, this thing called Docker emerged and I heard a lot of good things about it but I never got around to trying it as Virtual Box worked pretty well and taking the time to setup up a new environment with a foreign tool was just not on my priority list. Then a few weeks ago, I installed it and poked around with it and found that it was pretty easy to setup compared to a virtual box image. Surprisingly, I can run a single command and spin up a fresh ubuntu image or just a MySQL container. I have only just gotten started, but I am pretty impressed with the ease of this new tool.
With this simple command, I can create and Ubuntu image with my desktop mounted inside of it.
docker run -t -i -v ~/Desktop:/Desktop ubuntu /bin/bash
Inside the container:
apt install [anything]
exit
Find the id of the container just created:
docker ps -a
Save a new image from the container:
docker commit [container id] [new or existing image name]
Now run the container by name you just committed to confirm your changes.