This is a continuation from What OS for Docker host? (Part 2) where I tried out Atomic Host and Alpine.
RedHat or Ubuntu
I set up machines to run Docker all the time usually on a RedHat/CentOS or Ubuntu system. If I had selected either of those, the laptop would be up and running already, but that’s not the real point of this exercise. I’m interested in learning about alternatives–especially those that will give me Docker goodness and not a lot of stuff I don’t need. If I couldn’t find anything else, plan B was to fall back to my comfort zone, but that would mean failure. And so I decided that I wouldn’t use RedHat or Ubuntu.
I like Puppy Linux because it runs quickly even on older hardware. It’s been awhile since I’ve played with it and I found there are now more flavors. The “Long-Term-Support” releases were pretty old (two or more years) and so I didn’t want those (Docker likes a newer kernel). So I downloaded a more recent “Slacko Puppy 6.3” which is apparently a Slackware-compatible version of Puppy. The download and install when fairly smoothly except for some issues getting things setup correctly with GParted. However, when I tried to install Docker I got an error saying that Docker only supports 64 bit platforms. I didn’t know that and had grabbed the 32 bit release.
Another download, burn and install later, I had the 64 bit version of Puppy ready to go. There were three different network configuration tools and the first two didn’t seem to want to set up the wireless for me, but the third one I tried (called “Frisbee”) went quite smoothly. However, I was unable to SSH into the machine–there was no SSH server installed. I used the package manager to install OpenSSH. The first couple attempts failed with no useful error messages. Eventually it reported success, but I never managed to connect via SSH.
The package manager didn’t seem to know about Docker and I ran into the same problem I had with Alpine when trying to use the Docker installer–the platform isn’t supported. So I did a manual install of the binary. Unfortunately, when I tried running the Docker daemon I got errors stating the Docker couldn’t create the default bridge due to problems setting up the ip tables. And so I decided that I wouldn’t use Puppy Linux.
With a little searching, I found Rancher OS which is allegedly “the perfect little place to run Docker”. I found the concept being the OS to be intriguing–apart from a small base which provides footing for Docker to run, all the system services are run in Docker containers. There are actually two Docker daemons running: one for the system and one for “normal” Docker stuff.
The install process took me a few tries, but admittedly it was user error on my part. Rancher OS didn’t want to install on the hard drive at first because it was partitioned and mounted and so I had to search around for the magic commands to remedy that. I then had an install go through, but when I booted up I couldn’t log in–apparently once installed the default user/pass no longer works and you can only connect in via the keys provided during install. I had provided no key and thus had no way to access the newly install operating system. Note that this what not the fault of the installation instructions, but rather my failure to read and follow carefully. Going through a the next time was a smooth process.
With the auth key, I was easily able to ssh into the machine. I had no problem running various Docker containers. The OS came with version 1.9.1 of Docker, but I realized I hadn’t installed the latest version of Rancher OS. The upgrade process was as simple as running:
sudo ros os upgrade
An interesting thing about both the install and upgrade was that most of the process seems to be just pulling down Docker images. It only took a couple minutes and then apparently the operating system was updated to v0.4.3. When I checked the Docker version again I was pleased to see that it now reported 1.10.1 which is exactly what i wanted.
So now it seemed like the only thing that I was missing was wireless network connectivity. Wireless, or rather lack there of, is a deal breaker for me, but I had found Rancher OS so interesting that I resorted to something I hate to do. I asked for help. Apparently, it is somehow possible to get wireless to work with Rancher OS, but no instructions were immediately forthcoming. This was rather a bummer to me because I really hoped that Rancher OS would be it for me. And so I decided that I wouldn’t use Puppy Linux.
The story continues in part 3.