Just started learning Docker, with some excellent guidance from a good friend
of mine, who shared these resources:
https://github.com/veggiemonk/awesome-docker
https://docs.docker.com/v1.8/userguide/dockerimages/
I SSH'd into my desktop from my laptop, pulled a Debian image, set up a
container, set up a webserver, and served "hello" to a text browser! Next
challenge is to install a headless system, install Docker, pull the Trisquel
image, and try to run Trisquel in a container!
BTW I can see why some folks are concerned about the tight integration with
DockerHub. The obvious solutions are either a libre Docker image registry, or
a filter that can be applied to the images on DockerHub, to only make the
libre ones available for pulling. Once one (or both) of these are in place, a
modification can be made to the version of Docker distributed with free
distros to change the default registry to the libre one, or to implement the
filter. This is a very fixable, peripheral problem with an otherwise very
useful, powerful piece of free software.
GNU Guix looks like it will become a viable alternative to Docker, and the
libre image registry set up to work with Docker could be set up to also work
with Guix. But for now, it's bleeding edge software, with the container
functions only recently hacked onto the package manager. Docker appears to be
the more mature package for the purpose for the time being.