How containers are stored on disk is often a mystery to users working with the containers. In this post, we’re going to look at how containers images are stored and some of the tools that you can use to work with those images directly –Podman, Skopeo, and Buildah.
Evolution of Container Image Storage
When I first started working with containers, one of the things I did not like about Docker’s architecture was that the daemon hid the information about the image store within itself. The only realistic way someone could use the images was through the daemon. We were working on the
atomic tool and wanted a way to mount the container images so that we could scan them. After all a container image was just a mount point under devicemapper or overlay.
The container runtime team at Red Hat created the
atomic mountcommand to mount images under Docker and this was used within
atomic scan. The issue here was that the daemon did not know about this so if someone attempted to remove the image while we mounted it, the daemon would get confused. The locking and manipulation had to be done within the daemon. …
Container storage configuration is defined in the storage.conf file. For containers engines that run as root, the storage.conf file is stored in
/etc/containers/storage.conf. If you are running rootless with a tool like Podman, then the storage.conf file is stored in
Read more at Red Hat blog