* containers: Pull newer versions of containers
Allows topgrade to update a users containers. It will automatically skip
containers which come from the `localhost` repo as these are self-built.
Respects the version number the containers were initially checked out
with in order not to introduce semver-breaking changes.
Works with podman and docker.
* topgrade: Add 'containers' step
* containers: Ignore some errors for docker
This patch is needed to achieve compatibility between docker and podman.
In particular, docker doesn't store/tell the user from which repository
(i.e. `hub.docker.com`, or `registry.fedoraproject.org`) a container
originates. This has the side-effect, that self-built containers cannot
be distinguished from publicly available containers. Therefore this
patch introduces an exception to the error handling when pulling, by
scanning the output of the `docker pull` command. If it finds the
`registry does not exist` substring in the output, it will skip the
container but **NOT** consider the whole update step failed.
* containers: Skip '<none>' containers
that result from either intermediate products of a container build or
when images are dangling.
* steps: containers: simplify error handling
And don't return errors from within the "unknown container registry"
handling, since that would immediately terminate the whole update which
isn't intended.