Hi Mick,
Geb Development group is still monitored but is quite inactive. That group is supposed to be used for questions about development of Geb itself so would mainly be used by contributors. Your question is more of a usage question so this one is the better list to use in this case.
I have used both webdriver binaries and selenium docker images via testcontainers in the past. Geb's build is using both. I believe there are use cases for both of these options depending on the circumstances and both have their pros and cons.
Using webdriver binaries will be faster (no overhead to start up a container, the browser in that container and then sending webdriver commands over http to that container) and it allows developers to watch their tests execute when debugging or developing them. On the other hand you cannot use the machine while the tests are running in that setup because you would be stealing focus from the browser leading to test failures. To watch tests executing in a docker container you will need to attach a VNC session or setup recording over VNC (I believe it's something that is part of testcontainers support for selenium) and then watch the recording. On the other hand, it's much easier to fix the version of the browser used for running the tests when using testcontainers (note that auto-update is disabled for browsers in selenium docker images) which means you're not constantly dealing with webdriver/webdriver binary/browser version whack-a-mole.
You can get both approaches working on CI, but for CI services which do not use docker, using webdriver binaries to run the browser locally might be problematic because it's hard to fix the version of the browser and thus keep things working reliably.
I also use Selenium's Docker images via testcontainers started from another Docker container in Geb's CI in Circle CI (
https://github.com/geb/geb/blob/master/.circleci/config.yml#L49,
https://github.com/geb/geb/blob/master/internal/test-support/src/main/groovy/GebConfig.groovy#L29). Note that for that option I'm using images which guarantee fixed browser version, 3.141.59-oxygen (historically fixed versions contained names of chemical elements and now they contain a date, e.g. 3.141.59-20200409), because 3.141.59 gets updated every time a new version of the browser is released which leads to non-reproducible builds and potential breakages. Note that the easiest way to be able to start a docker container from within another container (in this case the container running the build on CI) is to bind dockerd socket when starting up the original container (-v /var/run/docker.sock:/var/run/docker.sock).
Hopefully this helps even if it does not provide an answer with regards to which of the two options is better.
Marcin