How do I identify which container owns which overlay directory?

You can use jq like so:

 docker inspect $(docker ps -qa) |  jq -r 'map([.Name, .GraphDriver.Data.MergedDir]) | .[] | "\(.[0])\t\(.[1])"'

Which gives:

/traefik_traefik_1      /var/lib/docker/overlay/58df937e805ec0496bd09686394db421c129e975f67180e737d5af51751af49c/merged
/gitlab-runner  /var/lib/docker/overlay/4e5b06f4ee09c60e2dad3a0ce87352cead086eb8229775f6839a477b46dce565/merged
/rancher-agent  /var/lib/docker/overlay/6026bb65dd9a83c2088a05cff005a1dd824494222445bab46b7329dc331465aa/merged

Explanation:

docker inspect $(docker ps -qa)

Display full docker details.

jq -r

Parse json and output regular strings:

map([.Name, .GraphDriver.Data.MergedDir])

For each element in the original array, find the Name and the overlay MergedDir.

"\(.[0])\t\(.[1])"

Output the first two elements of the array.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)