|
|
|
|
|
by choeger
2041 days ago
|
|
Your problem is the assumption that a gitlab CI process requires a docker image. If you do the following, you are fine: * Switch to a shell runner * Put the CI dockerfile into your repo * Provide an entry script for CI that builds the container on-demand (and manages caching/cleanup) and then runs the tests/whatever inside that container The point here is that docker/podman provide you with everything you need as long as you have full control. By using gitlab's default CI, you relinquish this control. |
|
After using dind for some time we chose to just mount /var/run/docker.sock and keep using the host machine’s docker instance (mostly for the cache), but all in all dind was working fairly well.
To be honest, to say “you shouldn’t be doing that” is missing the point; one should be able to do anything they want. In my opinion, the root cause here is docker’s client/server model, which is fixed by other container runtimes such as podman and rkt (which unfortunately is deprecated). One should be able to just launch containers as if they were just another process.