rust-lang / docker-rust

The official Docker images for Rust
436 stars 88 forks source link

Add dind variants to help running on CI #66

Closed augustocdias closed 3 years ago

augustocdias commented 3 years ago

Many projects depend on other components to run CI pipelines. Would be nice to have a rust + docker dind variant to help with that.

Since dind is based on alpine, most of the work on supporting it would be done already since alpine is already a variant.

I'd be happy to create a PR if the idea is welcome.

CobaltCause commented 3 years ago

It may not be feasible in your particular case, but in the event someone else stumbles upon this issue who can leverage this alternative, see here (in particular the last section): https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

GitLab has some documentation on how to use this with their Runner system, which skips the backstory and gets to the point: https://docs.gitlab.com/runner/install/docker.html#option-1-use-local-system-volume-mounts-to-start-the-runner-container

sfackler commented 3 years ago

I'm not aware of official images for other languages that provide a dind variant (gcc, go, python, etc).

augustocdias commented 3 years ago

I understand the reasons @sfackler

I understand why it is bad @SoftwareSheriff and I'm not sure if there's a way to build any docker image in ci without dind. What I do is: I have a image based on dind that I installed rust on it which I call the builder. This image builds the app, test it and finally pack it into a docker image and push to our registry.