For almost all of what I do, I run Linux. Specifically Debian Linux.
It runs much faster, has most of the same programs you're used to on a Mac or a Windows PC, and is about as stable as an operating system can be. It can run some Windows programs in Emulation (WINE) but that's not the point. I've got what I need if I stay within Linux, natively.
Some Debian Linux computers have "uptime", time since they were last restarted, in years - not days or weeks.
I update things when I want. I make things how I want them. I change things how I want. If there is one thing about Linux that Mac and Windows users don't get to do is customize things the way that they want.
My blog resides in two places. On www.ramblingmoose.com and on a Wordpress hosted site at ramblingmoose.wordpress.com as a backup.
I really don't care for how my Wordpress site looks, so I want to change it. Being someone with more years in IT Software Development Project Management than I care to admit to, I will do it "offline" and not on the live site.
Furthermore, I have a client in Los Angeles. His website was developed on Wordpress by me, and I have a backup. I'm finished with the site, but I thought it might be "fun" to see if I could get it to work here on my own computer.
My own main computer running Debian I am happy with. Actually that is an understatement. I don't want to slow it down by loading up server software, a LAMP stack, and things to slow it all down. I could create a VMWare or Virtual Box virtual computer and do the LAMP stack there, I've done that a couple times before, but running a full VM for something like this felt "overkill" and "heavyweight".
What Docker Does:
Docker will allow me to share some of my computer by running a pared down version of Linux inside what they call a Container. It is not a full virtual computer, so it should run faster, and since it is not a full computer it will not effect my apparent speed - in case I forget to "turn the damn thing off at night".
Get a Docker Container up and running. The container will have a web server and Wordpress software running configured for my use.
This is adapted from the official Docker instructions found at this link.
This will get the base Docker software installed on a Debian system. Your system should be "up to date". It should be running fairly current software. As I am writing this March 2017, Docker will run on Debian 7, 8, and 9. 9 being "Stretch" or "Testing" at this point, 8 being "Jessie", and 7 is "Wheezy".
My own personal thought is that if you aren't running at least "Jessie", get yourself upgraded to current software. After all, within a month or three of this writing, Stretch will become "Stable" and the official up to date current software. It's easy. I started with Wheezy, migrated to Jessie, and am currently running Stretch.
Open a terminal session and sign in as root with "su".
Add transport module to allow Docker to grab what it needs via HTTPS:
Add the Docker GPG key:
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
Verify that the key ID is 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88.
apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb)
sub 4096R/F273FCD8 2017-02-22
Add the Docker repository:
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
Update your apt repository lists:
apt install docker-ce
At this point, Docker is installed. They set up a container that you can run to verify it called Hello World.
docker run hello-world
Docker is installed. The software will run from the command line, as root. It can be configured to start automatically by entering in a command:
systemctl enable docker
However I have not yet done it because I am not convinced I want to run this every time I boot. I am being conservative with my system resources, but to be honest I have not noticed it slowing me down in the slightest. Since I will only be running this intermittently, I probably will not be running it.
Since this tends to be my own mental scratch pad, the way to disable docker at boot is:
systemctl disable docker
This and more tweaks to how it runs are found at Docker's own help file for post install.
Obviously, this is something that is incomplete. I will be returning with more when I go to get my container started. I need a Container with Debian, a LAMP Stack, and Wordpress. A ready made version of this exists, and I will try that first - ready made from Docker itself!
On the other hand, my own normal IT Project Management curiosity tells me that I need to make one on my own. So I'll work on that later.
First step, getting it installed, worked. Next I will get onto that other stuff... later.