nixpacks icon indicating copy to clipboard operation
nixpacks copied to clipboard

Rust-based Docker API client instead of relying on `docker` command

Open jeromegn opened this issue 2 years ago • 2 comments

Feature request

Using a Rust-based Docker API client would remove the dependency on a local Docker client (provided by the docker CLI). This makes it easier to use a remote Docker daemon without ever having installed docker locally.

Motivation

At Fly.io, we use "remote" docker builders so users without Docker running can still build images for our platform.

Looks like nixpacks works for us even if the Docker daemon isn't running, but users still need the docker CLI binary available in their PATH.

Contribution

I could submit a PR, but I'm not sure there's a good non-async Docker client and without a bit more guidance on how to proceed I wouldn't want to sink time in a big "add async stuff to nixpacks" effort :smile:

jeromegn avatar Sep 19 '22 16:09 jeromegn

Do you know of any good crates wrapping the docker API?

Milo123459 avatar Sep 19 '22 18:09 Milo123459

Do you know of any good crates wrapping the docker API?

I haven't worked with any of them unfortunately. Looks like there's this one with a good standing (in terms of usage, maintenance, etc.): bollard

jeromegn avatar Sep 20 '22 13:09 jeromegn