As I go on setting up a new server using Docker, I try to understand a few things about this fascinating environment. My aim is not to become a Docker expert, but to understand enough of it so that I can feel comfortable when using it... So, here is the first of several notes, written down while experimenting or while reading some documentation.
When querying Docker Hub with the string ubuntu, the first returned image is presented as the official Ubuntu base image. Clicking on it brings to a page where supported tags are displayed. And clicking on 14.04.1 tag brings to the Dockerfile used to build the image.
First two lines of this Dockerfile show that the Ubuntu image is built using the scratch image, and an Ubuntu-core release:
FROM scratch ADD trusty-core-amd64.tar.gz /
Creation process of scratch image is explained by an article on Docker site.
Reading the instructions of the Dockerfile lets me understand a difficulty I faced during my second test of Docker: an exit 101 is written into policy-rc.d file. This is to prevent init scripts from running when an apt-get install is performed, as apt-get install usually only happens during a docker build, where starting services doesn't work.
The Dockerfile then configures a few apt parameters, and ends its job with a dist-update.