What is the difference between a Docker image layer and a running container, and how do you optimize Dockerfiles to minimize image size for Turing?