La diferencia oficial es que el contenedor es la última capa que se puede escribir, mientras que las capas de abajo solo son legibles y pertenecen a su imagen. La diferencia intuitiva es que la instancia de docker es la instancia virtualizada por su demonio de docker y la ejecución de su imagen, opera dentro de una sección aislada de su kernel (este proceso está oculto para usted). Sin embargo, la imagen es estática, no se ejecuta, es solo un montón de capas (archivos estáticos). Si relacionamos este paradigma con la programación orientada a objetos, la imagen es su definición de clase, mientras que su instancia de docker es el objeto generado de su clase que reside en la memoria.
http://javagoogleappspot.blogspot.com/2018/07/docker-basics.html
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04