This making the build using a gradle plugin instead of using docker-compose build.
It aims to make the build to be more incremental as described in #7306
Building the docker image don't rely on docker-compose anymore.
The docker build step is isolated into a dedicated folder (in order to make sure that gradle plugin don't recompute the build of the docker container)
Gradle is responsible for copying the files that docker needs to build its image.
That removes the need of having a dockerignore file.
This might not be effective until #7539 is solved.