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?

  • Kubernetes node with high disk usage caused by docker overlay
  • Way to delete the images from Private Docker Registry
  • How can I run Ghost in Docker with the google/node-runtime image?
  • Do docker images have access to the tmp dir?
  • docker container exits immediately even with Console.ReadLine() in a .net core console application
  • Kubernetes AWS deployment can not set docker credentials
  • In an ideal world, I want the client to run docker pull, then docker run, and that’s it forever.

  • How to run application from docker container from host OS?
  • Docker compose file memory, cpu limits
  • @Configuration inside jar not getting loaded
  • Is there a way to stop a docker container, if a linked/upstream container is gone?
  • Java Spring Hibernate application runs on local, but not in aws's ecs docker
  • Can't connect to mySql docker container with JDBC
  • 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 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.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.