The setting:
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.
The backstory:
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.
The reasoning:
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".
The Goal:
Get a Docker Container up and running. The container will have a web server and Wordpress software running configured for my use.
Installing Docker:
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:
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
Update your apt repository lists:
apt update
Install Docker:
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.
Conclusion:
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.
No comments:
Post a Comment