Excellent Tutorial: Continuous Integration Testing Environment with Docker and Docker Compose

As a medium beginner with Docker, and a total beginner with continuous integration, I found that going through this tutorial was very beneficial in orienting me for further learning, with Docker and also with CI. it was most gratifying to see the hello world result appear in my browser.

I learned:

  1. There’s a tool called Docker Compose that allows you to manage two or more interacting containers. The basic format of a YAML file (extension yml) which is used to configure the settings for this larger environment.

  2. A non-SQL database called REDIS, used to store persistent data, starting with the simplest example of a counter.

  3. There is an online yml syntax validator at: http://www.yamllint.com

Gotchas in the tutorial:

  1. The author includes a line in his supposed docker-compose.yml that should be excluded: [docker-compose.yml]. Apparently it is not legal YAML code.

  2. If your Linux installation has a web server daemon running (because you checked the box for web server during installation) then you will need to stop that before running the hello world example (or use some other port than 80):

$ sudo apachectl -k stop

…otherwise you will get an error about the port being already in use.