docker image updating across multiple clients
Let’s say I create an application and make it a docker image with the intent to have people pull the image and just run it. They just care about using the application and I just care about distributing it. Once they run the image, it will be a container, so if I update the image, does that mean that they have to re-pull the docker image every time and re-run that?
Along with that: Is it possible to automate docker pull requests or image updates from within the application? Say they run the image and they access an application within the browser. Can the application check to see if there are updates available (i.e., it isn’t the latest docker image build), and then pull the latest docker image?
In an ideal world, I want the client to run docker pull, then docker run, and that’s it forever.
One Solution collect form web for “docker image updating across multiple clients”
The problem is your ideal world doesn’t exist, and never will. Software and hardware breaks, there are power outages, network outages and weird bugs that will bite you sooner or later. So it’s never “forever”.
The answer to your first question is yes, your users will have to docker pull new versions.
The answer to your second question is yes, if you write it. There’s no reason why you can’t create a second “updater” container that is purely responsible for checking for new versions of images and applying updates. That’s not a trivial task to get right however. If you’re interested, take a look at things like TUF http://theupdateframework.com to understand some of the problems.
Probably the easiest solution is just to check for a new version when the container starts and tell the user they should update.