making only one Dockerfile for simpler explanation