77 "sync"
88
99 "github.com/moby/moby/api/types/container"
10- "github.com/moby/moby/api/types/system"
1110 "github.com/moby/moby/client"
1211)
1312
@@ -21,7 +20,7 @@ type SDKClient interface {
2120 // Logger returns the logger for the client.
2221 Logger () * slog.Logger
2322
24- // DaemonHost gets the host or ip of the Docker daemon where ports are exposed on
23+ // DaemonHostWithContext gets the host or ip of the Docker daemon where ports are exposed on
2524 DaemonHostWithContext (ctx context.Context ) (string , error )
2625
2726 // FindContainerByName finds a container by name.
@@ -59,7 +58,7 @@ type sdkClient struct {
5958 extraHeaders map [string ]string
6059
6160 // cached docker info
62- dockerInfo system. Info
61+ dockerInfo client. SystemInfoResult
6362 dockerInfoSet bool
6463
6564 // healthCheck is a function that returns the health of the docker daemon.
@@ -75,38 +74,38 @@ func (c *sdkClient) Logger() *slog.Logger {
7574// Info returns information about the docker server. The result of Info is cached
7675// and reused every time Info is called.
7776// It will also print out the docker server info, and the resolved Docker paths, to the default logger.
78- func (c * sdkClient ) Info (ctx context.Context ) (system. Info , error ) {
77+ func (c * sdkClient ) Info (ctx context.Context , options client. InfoOptions ) (client. SystemInfoResult , error ) {
7978 c .mtx .Lock ()
8079 if c .dockerInfoSet {
8180 defer c .mtx .Unlock ()
8281 return c .dockerInfo , nil
8382 }
8483 c .mtx .Unlock ()
8584
86- var info system. Info
85+ var info client. SystemInfoResult
8786
88- info , err := c .APIClient .Info (ctx )
87+ info , err := c .APIClient .Info (ctx , options )
8988 if err != nil {
9089 return info , fmt .Errorf ("docker info: %w" , err )
9190 }
9291 c .dockerInfo = info
9392 c .dockerInfoSet = true
9493
9594 infoLabels := ""
96- if len (c .dockerInfo .Labels ) > 0 {
95+ if len (c .dockerInfo .Info . Labels ) > 0 {
9796 infoLabels = `
9897 Labels:`
99- for _ , lb := range c .dockerInfo .Labels {
98+ for _ , lb := range c .dockerInfo .Info . Labels {
10099 infoLabels += "\n " + lb
101100 }
102101 }
103102
104103 c .log .Info ("Connected to docker" ,
105104 "package" , packagePath ,
106- "server_version" , c .dockerInfo .ServerVersion ,
105+ "server_version" , c .dockerInfo .Info . ServerVersion ,
107106 "client_version" , c .ClientVersion (),
108- "operating_system" , c .dockerInfo .OperatingSystem ,
109- "mem_total" , c .dockerInfo .MemTotal / 1024 / 1024 ,
107+ "operating_system" , c .dockerInfo .Info . OperatingSystem ,
108+ "mem_total" , c .dockerInfo .Info . MemTotal / 1024 / 1024 ,
110109 "labels" , infoLabels ,
111110 "docker_context" , c .dockerContext ,
112111 "docker_host" , c .dockerHost ,
0 commit comments