The author of Docker-in-Docker advises against using dind for CI and suggests bind mounting the Docker socket.
Let’s take a step back here. Do you really want Docker-in-Docker? Or do you just want to be able to run Docker (specifically: build, run, sometimes push containers and images) from your CI system, while this CI system itself is in a container?
That seems reasonable. However, the GitLab shared runners are not configured like this, but for running dind.
Is there any effort underway to head down this path or is there a significant reason why the shared runners can’t make use of this solution?