[Docs Feedback]: Make clear the advantages of customer Dockerfiles
https://www.gitpod.io/docs/config-docker
Not sure we're making it very clear right now about when and why to use a Dockerfile vs the config file.
We should update the documentation to mention:
- When to use a Dockerfile vs
gitpod.yml` - Mention any distinct advantages of Dockerfiles vs gitpod.yml
To me this breaks into two areas - setting up Tools or preparing Assets:
Use Dockerfile when you're installing binaries and OS packages that you need at your disposal (ie, Tools)
Use gitpod.yml for preparing Assets to be worked on - do operations on the contents of the repository, stage package dependencies, sign into remote registries etc
Having Gitpod deploy a Dockerfile directly in the repo should be a short term plan, imho, and long term once the Dockerfile has been tuned, it is instead run by a CI job and the gitpod.yml reverted back to pointing at the image output by the CI job. This is because it is more likely for the Assets to be refreshed all the time when a repo is pulled by Gitpod, while the Dockerfile and tools are less likely to be run. I would consider building a new base image on a new tag event for the repository or on demand, while leaving it to Gitpod to handle pulling that image and deploying assets onto it that are declared in the gitpod.yml