I would like to manage docker containers, running on multiple RPI around the world.
Can someone please suggest an approach to achieve this?
I would like to distribute a RPI, with docker containers running and update these containers, either manually or by pushing a new version of the container to the docker registry.
Would be worth taking a look into the new Swarm / 1.12 stuff. You might be able to run a central server as a swarm manager and have the Pis --join to it. Then you could run a global service and do updates to the running containers using docker service update --image etc. You’d have to look into things like whitelisting the RPi’s IPs with firewall though. I wouldn’t really want to expose :2377 on public internet even though theoretically it should be safe (it’s brand new).
EDIT: Also you wouldn’t necessarily be able to count on things like overlay networking working without having the Pis be able to reach each other directly (and even if they could, I doubt the VXLan / Gossip ports are safe to expose publicly).
thanks for the advice. I played with swarm and for the firewall reason you stated, it isn’t an option for my use case.
I ended up implementing a solution similar to docker “watchtower”. My web-app checks a private docker registry for new images and pulls it upon user’s request.