Docker memory usage when it comes to the same base image

Hi have 3 containers that run a python application on each one. The 3 containers have been created from 3 different images with all 3 coming from the official python docker image.

I was wondering what’s the most efficient way to have the three application running on 3 different container but without using excessive disk memory as the three applications are pretty light waves.

So my issue is that, if I build 3 different containers from the 3 different images, do they share some kind of layer making me save storage or not?

At the moment, on my images list, I see the official python image which is 114 Mb in size, and my image derivated from that which is 125 Mb so, my question is, the size is the actual occupied size of the image on the disk or, my image that uses the python official one actually uses only the 125-114=11Mb on the disk as the official python image is already there?