I’ve come across quite a fundamental thing which I presumed I’d understood, but obviously haven’t at all - container persistence between restarts. Every time our device boots, it compares a checksum of the result of the GET /v1/apps/:appId api call, with the checksum of the call at the previous boot. Basically if the application notices that the commit has changed, or we have new env vars, then there’s some stuff it has to do. Pretty straight forward.
What I’ve noticed (by accident, because we initially included it in the checksum), is that the containerID is not always changing between reboots of the device. It does, however always change between restarts of the application.
Can someone explain the expected behaviour to me? Is this possibly a by-product of our docker-in-docker setup, which does a mount -o bind /data /var/lib/docker at app startup? Or is this actually how the supervisor always works?