-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Include list of image layer directories in ContainerInfo
#294
Conversation
e541969
to
2774c52
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please handle the unwrap
s
e441688
to
2e214b5
Compare
0d4ad17
to
c8285c5
Compare
92015b8
to
871258e
Compare
1fff278
to
4c2933f
Compare
4c2933f
to
85e2c82
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general it seems fine, but there is no support for podman
For each container, try to retrieve information about image layers paths (from the host filesystem's perspective) and include them in `ContainerInfo`.
This field is present only for OverlayFS driver. BTRFS doesn not use it.
The procedure for BTRFS is more complicated than for OverlayFS. `GraphDriver` doesn't contain straightforward information. Instead, it has to be retrieved with the following steps: 1. Using the given image ID, find an "imagedb entry". It's located in `/var/lib/docker/image/btrfs/imagedb/content/sha256/<image_id>`. 2. Get the list of layer checksums from that entry. 3. For each layer, check whether a "layerdb entry" exists. It's located in `/var/lib/docker/image/btrfs/layerdb/sha256/<layer_id>`. The layerdb directory contains a `cache-id` file. 4. That `cache-id` file contains an ID of a BTRFS subvolume. The subvolume can be found in `/var/lib/docker/btrfs/subvolumes/<cache_id>`.
8a3636a
to
cb77d17
Compare
// TODO(vadorovsky): Parse layer information in Podman. | ||
layers: Vec::new(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what happened to the previous changes of #309 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I must've done a wrong git push -f
. I restored them now, sorry.
Use libpod's image store and layer store to determine image layer directories on the host for Podman.
For each container, try to retrieve information about image layers paths (from the host filesystem's perspective) and include them in
ContainerInfo
.