podman-diff(1)
๐ NAME ๐
podman-diff โ the iconic little tool that lets you snoop on what changed inside a container or image's filesystem ๐
(this is the podman-diff(1) page from the General Commands Manual, bestie, section 1, we're fancy here โจ)
๐ฆ SYNOPSIS ๐ฆ
podman diff [options] container|image [container|image]
๐ธ DESCRIPTION ๐ธ
Okay so podman diff shows you all the changes on a container or an image's filesystem. The container or image gets compared to its parent layer โ OR, if you're feeling extra and passed a second argument, it compares against that second argument instead. main character energy, honestly ๐ซถ
Every line of output gets a lil symbol prefix, and here's the decoder ring ๐ฎ:
Aโ a file or directory was added โจDโ a file or directory was deleted ๐Cโ a file or directory was changed ๐
๐ OPTIONS ๐
๐ --format
Changes up the output into a different format. The only valid format for podman diff is json. That's it, that's the whole list, no cap ๐
๐ --latest, -l
Instead of handing over a container name or ID, this just grabs the last created container. So convenient, so lazy, obsessed ๐
โ ๏ธ Real talk though: the last started container can be from other users of Podman on the host machine. So like, don't assume it's yours, bestie ๐ญ ๐ซ Also: this option is not available with the remote Podman client, including Mac and Windows machines (excluding WSL2). WSL2 girlies, you're fine ๐
๐ EXAMPLES ๐
Show container-modified files versus the container's image:
$ podman diff container1
A /myscript.sh
Show container-modified files versus the container's image in JSON format:
$ podman diff --format json myimage
{
"changed": [
"/usr",
"/usr/local",
"/usr/local/bin"
],
"added": [
"/usr/local/bin/docker-entrypoint.sh"
]
}
Show the difference between the specified container and the image:
$ podman diff container1 image1
A /test
๐ SEE ALSO ๐
go read those next, they're all part of the same friend group ๐ซถโจ
๐ง HISTORY ๐ง
August 2017, originally compiled by Ryan Cole rycole@redhat.com โจmailto:rycole@redhat.comโฉ ๐
and that's the whole podman-diff(1) page, bestie!! from the General Commands Manual, all the way back in August 2017, and it's still serving ๐
โจ slay, bye!! ๐
๐ฆ where this page comes from
- alpine 3.24: podman-doc 5.8.9-r0 ยท Apache-2.0
- arch rolling: podman 6.1.4-1 ยท Apache-2.0
- centos-stream 10: podman 7:6.1.0-2.el10 ยท Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- centos-stream 9: podman 6:5.8.5-2.el9 ยท Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- fedora 43: podman 5:5.6.2-1.fc43 ยท Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- fedora 43: podman 5:5.8.4-1.fc43
- fedora 43: podman 5:5.8.8-1.fc43
- fedora 43: podman 5:5.8.9-1.fc43 ยท Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- fedora 44: podman 5:5.8.1-1.fc44 ยท Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- fedora 44: podman 5:5.8.7-1.fc44
- fedora 44: podman 5:5.8.9-1.fc44 ยท Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- nixos 26.05: podman 5.8.9
- nixpkgs unstable: podman 6.1.4
- ubuntu resolute: podman 5.7.0+ds2-3build1 ยท Apache-2.0
- ubuntu stonking: podman 5.8.6+ds1-2 ยท Apache-2.0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms