In a nutshell
Docker images are the basis of containers. An image is an ordered collection of root filesystem changes and the corresponding execution parameters for use within a container runtime.
An image usually contains a union of layered filesystems stacked on top of each other.
Docker uses a copy-on-write technique with a union file system for both images and containers to optimise resource usage and performance.