Tag Archives: docker

Switching it up

The other day Raspberry Pi foundation finally made their 64bit version available and the new standard for their installs.

So, you know what that means…

For as much as I enjoy Ubuntu, I’d really like to run the OS build for the Pi on the Pi, so migration was in order!

Now, this was barely a week after release… (danger!)

Logged into the PiServer, started the backup process for all of the docker-compose files and directories, in case something went sideways.

Powered it all down and unplugged the USB-Sata adaptor for the drive.

Found a MicroSD card, imaged it up with the new RaspPix64 image, booted it up and went to town getting it set up. Updated SSH keys, system name, local, time/date, etc. All the good stuff. Enjoyed having a desktop (yes, went with full instead of lite) for the ease of drag-and-dropping a lot of files from the old OS install.

And then I went to install Docker.

At the time, Raspbian arm64 was not listed as supported. (as of the writing of this, it still isn’t)

But, I’d made it this far, so I gave it a go anyway!

And it worked! Turnes out they’d been prepping it in the background and just didn’t update their site documentation.

Client:
Version: 20.10.5+dfsg1
API version: 1.41
Go version: go1.15.15
Git commit: 55c4c88
Built: Sat Dec 4 10:53:03 2021
OS/Arch: linux/arm64
Context: default
Experimental: true

Server:
Engine:
Version: 20.10.5+dfsg1
API version: 1.41 (minimum version 1.12)
Go version: go1.15.15
Git commit: 363e9a8
Built: Sat Dec 4 10:53:03 2021
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.4.12~ds1
GitCommit: 1.4.12~ds1-1~deb11u1
runc:
Version: 1.0.0~rc93+ds1
GitCommit: 1.0.0~rc93+ds1-5+b2
docker-init:
Version: 0.19.0
GitCommit:

We’re up and running!

Feeling confident at this point, did a test run of all of the containers and made sure they were able to do their thing, and it was flawless. No need to tweak anything aside from a few file permissions due to the copy.

Used the built in SD card Copier to copy the full install over to the SSD.

Powered it back down, ejected the MicroSD card, and powered it back up. Booted just as expected off of the SSD. Started all of the containers.

Now It’s back up and running as if it was running that way all along. Which is as it should be with docker containers, really.

Ubuntu 21.10 on the RaspberryPi with Docker

My Ubuntu install was nice enough to tell me that the 21.10 version had finally been released! So like any good upgrade-addict, I gave it a whirl!

And

It broke docker.

Which was the only thing really running on the Pi. However, it was also hosting my blogs.

Through many searches, I finally stumbled across this post on IssueExplorer.com, and it’s exactly what I needed.

The Fix

sudo apt install linux-modules-extra-raspi

Evidently, this only affects the Rasberry Pi install of Ubuntu.

Now you’re playing with Docker!

So, I’ve been hearing about this docker thing for a while now. Poked at it a little bit, decided that it really wasn’t for me at the time. Mostly because I didn’t understand what it was all about and just figure it to be yet another software development tool.

I was partially right, and yet very very wrong.

I’m not going to give a run-down of what it is or how to use it. There are better folks than I who have already provided marvelous amounts of information on how to use it, and I’m still learning.

I have taken a shine to Docker Compose, and how can work for service management. For example, website hosting.

It’s allowed me to take my two blogs, run them in two separate environments with their own databases, and yet have them both accessible on the same box.

  • Traefik (80/443 access management)
    • wtfwasithinking.org
    • scrawlings.wtfwasithinking.org
    • falle.us (coming soon, maybe)

As a bonus, I didn’t have to fiddle with certs, traefik handles the routing and all the cert business.

Updates have been pretty easy to manage so far. Update the image, restart the container via compose.

The best thing I love about it though is now everything I need is tucked into a single directory. No more chasing down settings across the server when I want to spin up a new site to play with. Just a matter of pulling down the image and setting up a new compose file and directory. When I’m done with it, just shut it down and nuke the directory. Nice and simple compared to the various places configs would have to be updated.

Next up will be playing with the swarm function, not that I NEED such availability at home, but if I can use it to automate updates, all the better.