This repository has examples of container startup synchronization issues, and respective solutions.
It has been created as support material for a blog post on the matter. When the blog goes live, a hyperlink will be added here.
This project is inspired on TorizonOSBuildStatus.
To (re)-start an example from scratch, enter the corresponding directory and run compose:
exNumber=0
cd example${exNumber}
docker-compose down && docker volume rm example${exNumber}_grafana-storage example${exNumber}_influxdb-storage; docker-compose up --timestamps --force-recreate --pull always
- example0: the base example, where all containers start in parallel without any kind of synchronization. In this example, the Chromium container crashes and the application fails to write into InfluxDB.
- example1: the first synchronous example, fixing the previously found issues. A new issue is discovered, where Chromium starts before the webapp is available.
- example2: the final synchronous example, where Chromium startup is delayed so the webapp is loaded on the first try.