Demystifying Docker: Understanding Dockerfile and docker-compose.yml