ALL_CONTAINER=$(docker ps --format '{{.Names}}') ALL_PROJECTS=$(for i in $ALL_CONTAINER; do docker inspect --format '{{ index .Config.Labels "com.docker.compose.project.working_dir"}}' $i; done | sort -u) EXPORT_DIR='./export' for project in $ALL_PROJECTS; do PROJECT_NAME=${project##*/} echo -e '\n project: '$project # exclude projects # if [ "$project" != "/docker/synapse" ]; then # continue; # fi # all images while read -r image; do echo 'img: '$image done < <(grep -Po "(?<=image: ).*$" $project/docker-compose.yml) # all containers name while read -r name; do echo 'container: '$name echo $name # docker inspect $name # all volumes while read -r volume; do echo "vol: "$volume done < <(docker inspect --format="{{.Mounts}}" $name) done < <(grep -Po '(?<=container_name: ).*$' $project/docker-compose.yml) done | grep '[\{.+\}]*' # test multi volumes # postgres # jisti using config env # todo why doens't work everywhere # todo docker inspect --format="{{.Mounts}}" synapse [{bind /etc/localtime /etc/localtime ro false rprivate} {volume nextcloud_nextcloud /var/lib/docker/volumes/nextcloud_nextcloud/_data /var/www/html local rw true } {bind /docker/nextcloud/app/config /var/www/html/config rw true rprivate} {bind /docker/nextcloud/app/custom_apps /var/www/html/custom_apps rw true rprivate} {bind /media/nextcloud /var/www/html/data rw true rprivate} {bind /docker/nextcloud/app/themes /var/www/html/themes rw true rprivate}]