https://blog.pranshu-raj.in/posts/optimizing-docker-builds/