Skip to main content

Docker Compose Explained

Tonight I gave a talk at Toronto Perl Mongers discussing docker-compose. This month’s topic started as a discussion at the end of my presentation last month, as I was using containers to demonstrate OpenAPI interaction.

There was a lot of attendee involvement in the during the presentation. Plenty of questions and discussions. The use of docker containers for MetaCPAN dominated the conversation and examples, as I had the ability to show how they worked and work with the containers running on my system.

Video for the presentation is here, and the slides with all my notes are available here

During the discussion after the formal end of the talk, I discuss a talk that I’d watched from the goto; conference on containers. The talk is by Liz Rice titled Containers from Scratch, where she codes a container environment from scratch in golang on stage. This talk solidified what containers are and how they work for me. I highly recommend it.

Related

MetaCPAN Mojolicious and OpenAPI

Tonight I gave a talk at Toronto Perl Mongers discussing MetaCPAN, Mojolicious, and OpenAPI this is a result of the work that was done at meta::hack 3 this past November. The idea of the talk is to take the work that was done and provide examples and greater detail as to how to implement a project using OpenAPI and Mojolicious. The talk was very well received, and as I was running MetaCPAN in a number of docker containers for demonstration purposes and interesting conversation on containers started.

Ansible, Docker, and Ubuntu

By default Ubuntu/Debian docker images do not include python as part of the distribution. Before running Ansible tasks against containers, including fact gathering, python must be installed. The value of ansible_os_family can not be used because it’s not available until after facts have been gathered. - hosts: docker-containers gather_facts: False pre_tasks: - name: Check for apt (Debian family) raw: "test -e /usr/bin/apt" register: apt_installed ignore_errors: true - name: Install python for Ansible raw: "[ -e /usr/bin/python ] || (apt -y update && apt install -y python-minimal)" register: output when: apt_installed and apt_installed.rc == 0 changed_when: output.stdout != "" Answering a couple questions that the above might cause: