docker / buildx

Docker CLI plugin for extended build capabilities with BuildKit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Optimize internal ListWorkers calls

tonistiigi opened this issue · comments

Atm. every client.Build call calls ListWorkers internally https://github.com/moby/buildkit/blob/v0.13.2/client/build.go#L31 . Buildx makes one such call for build node to determine its capabilities, and another per build request. Docker driver makes additional call to detect Moby snapshotter capability. While the call is fast, it is still unnecessary and could be optimized to avoid that. It also shows up in opentelemetry trace and could be confusing.

Options could be to add some internal caching in buildkit client or allow passing the workers list into Build() with some option. Avoiding the request for Docker driver likely requires update to driver interface.