Expose a ctor for Http client to accept custom bollard Docker client.
I know it's an edge-case, but OSX folks using Podman 4.x can't currently use the CLI, due to inspect differences.
Using the HTTP API works perfectly (and is async, yay). But it also is a non-default usage of Bollard.
By providing a way to customize the Bollard Docker client being used, this patch allows me to use a random, non-standard, OSX/m1->QEMU->podman stack with success.
I know it's an edge-case, but OSX folks using Podman 4.x can't currently use the CLI, due to
inspectdifferences.
What does "currently" mean? Is this expected to be solved eventually in bollard or podman?
Hiya @thomaseizinger --
All fair comments.
I'll try to remove the directly-exposed Bollard aspect. I have no particular view of bollard, just realized it was used by testcontainers-rs, and I could facility my needs by exposing it. But I can find a better way.
The "currently" means that podman team has learned that their CLI output is non-compatible, and anticipate possibly maybe fixing it in the next major release (eta: who knows!). Their recommendation was the "docker-compatibility API" which is intended for this sort of usage.
Generally-speaking though, the changes I've made (poorly) would enable podman and docker, over http over unix sockets. It's the "over unix sockets" part that is currently not available in testcontainers-rs, and I think would be a useful addition, regardless of podman's roadmap.
Thanks for the PR but we decided to remove support for podman: https://github.com/testcontainers/testcontainers-rs/issues/422.