> What if we can standardize this process in some way?
Surely, this would be useful as part of a platform similar to Heroku where you plug your git repository and it would fetch such scripts and generate the Docker image.
It could be developed as a standalone tool that you integrate in your `git push my-heroku` hook, but I would not use it outside of that use case. Nothing beats copy/paste + some edits :)
> Also, we could have a configuration schema where people define the base images, copy glob patterns, etc.
Yes, copying files from stage to stage is quite a pain at the moment, that is why I have such a Dockerfile for every language I use, the copy glob pattern has already been done for 99% of my use cases.
You need to understand well your toolchain to know what to copy. For example, I did not yet write such a Dockerfile for Rust or Go, where I just do the usual "build + copy binary" multistage. No caching of dependencies :(
That's my main challenge. You need to be an expert in a language/framework to be able to develop a good Dockerfile. Hopefully, I can get more contributors to join my efforts.
I will draft something and get back to you for feedback.
Btw, I'm building easypanel.io and this is one of my attempts to simplify building docker images. I currently support Cloud Native Buildpacks, but it's quite a black box and people have a hard time using them.
We could have sh scripts for different phases: install-prod-deps.sh, install-dev-deps.sh, run-tests.sh, build.sh, etc.
Also, we could have a configuration schema where people define the base images, copy glob patterns, etc.