Two days ago, I had to start from scratch. Not because my machine crashed or some libraries simply refused cooperate, giving each other that special form of evil eyes that means everything changed but it just has to remain the same. I started from scratch because I discovered that my initial budget of 30GB worth of space was just not going to cut it for what I wanted to do. I had stumbled upon two facts regarding Docker containers: one, disk space should not be a problem for you, and two, bandwidth should not be a problem for you. The second I was prepared for, the first I had not anticipated.
You see, one of the first Docker images I had pulled was PostgreSQL. Hardly large, less than 300MB. So that had more or less set the tone for what I thought I was to expect from Docker images. Alas, that has not proved to be the case. As part of my work, I was to get images for Ceph (ceph/daemon), Gluster (gluster/glusterfs), FreeIPA (freeipa-server/freeipa-container), and ManageIQ (manageiq/manageiq).
Why were the images much larger? Well the idea is that a Docker container be self-sufficient. So in your Dockerfile (the file that specifies what your image and thus what your container will have) you need to specify everything that the container will need to run the application as comfortably as possible, without anyone, anywhere worrying about things going wrong. Of course the images from which we derive the containers do not have graphical environments; what makes them large is how much software is required. And if you need libraries upon libraries of stuff, then... You get the idea.
It wasn't such a bad thing to start afresh though; I got to install the correct version of Docker for CentOS. One of the challenges of using Linux distributions that are made for use on servers (Debian, Ubuntu, CentOS and the rest of the Enterprise Linux family) is that frequently when you just type in `apt install <package>` or `yum install <package>`, you end up with a legacy package rather than the new version. So on CentOS, the package `docker` refers to Docker from back in the day. Its re-branded self is now split up into two versions: Docker CE `docker-ce` (community edition) and Docker EE `docker-ee` (enterprise editon). Something I figured out in a rather roundabout way the first time around.
So far, I've pulled all my images and updated all my stuff. What comes next? Fitting it all together. My plan is to start with PostgreSQL. As I go along, I hope to explain how each of the containers I'll be running fits with oVirt.
Cheers and thanks for stopping by!