docker sadly keeps all images when pulling new ones. Therefore you need to do cleanups from time to time. The command to remove old images is docker image prune -f.
To drop all content generated by our container images you can run
Just take a look at your current images docker image ls. Older ones should be listed there too. If you pull a new version of an image docker keeps the old one. especially if a container using this image is still running.
Yes docker prune just removes unused and untagged images. If an image is still used in a container it keeps it. That also means after pull you need to restart the containers and then run prune.
I am sorry I can’t answer that question because it depends on your docker setup. The user needs to have access to docker’s unix domain socket.