Skip Navigation

How do you keep docker/podman containers up-to-date?

I used to simply use the 'latest' version tag, but that occasionally caused problems with breaking changes in major updates.

I'm currently using podman-compose and I manually update the release tags periodically, but the number of containers keeps increasing, so I'm not very happy with this solution. I do have a simple script which queries the Docker Hub API for tags, which makes it slightly easier to find out whether there are updates.

I imagine a solution with a nice UI for seeing if updates are available and possibly applying them to the relevant compose files. Does anything like this exist or is there a better solution?

67 comments
  • Since my "homelab" is just that, a homelab, I'm comfortable with using :latest-tag on all my containers and just running docker-compose pull and docker-compose up -d once per week.

    • This is mostly my strategy too. Most of the time I don't have any issues, but occasionally I'll jump straight to a version with breaking changes. If I have time to fix I go find the patch notes and update my config, otherwise I just tag the older version and come back later.

      I've recently been moving my containers from docker compose into pure ansible though since I can write roles/playbooks to push config files and cycle containers which previously required multiple actions on docker compose. It's also helped me to turn what used to be notes into actual code instead.

    • Just put all commands into a bash file. Starting with ‘’docker tag’’ changing tag to something else in case I need to revert and than pull, compose up. All run by crontab weekly. In case something breaks the latest working container is still there.

  • The beer way I’ve found is to wait till something breaks. Message around on forums asking why I’m getting errors till someone recommends update and restart.

    Blindly Remove the docker. Recreate.

    And hope none of the configs break. ✌️💛

  • I read the changelogs for the apps, and manually update the containers. Too many apps have breaking changes between releases.

  • Watchtower auto updates for me.

    Sometimes stuff breaks, if it does and I can't fix it, I'll just roll back to a backup for that stack and figure it out from there.

  • I pin versions and stick to stable releases as I want stability. Everything is behind a VPN so I'm not too worried. I check them and update once a week or so.

  • I use a combination of flux and a python app that checks out everything running on my cluster and keeps me a list of what needs some attention from upgrades and kube-clarity as well. It's more kubernetes related though.

  • By manually updating the whole thing.

    "Gus are you cra--"

    Eh, its a good brain exercise.

67 comments