github.com/xiaobinqt/libcompose@v1.1.0/docker/ctx/context.go (about) 1 package ctx 2 3 import ( 4 cliconfig "github.com/docker/cli/cli/config" 5 "github.com/docker/cli/cli/config/configfile" 6 "github.com/xiaobinqt/libcompose/docker/auth" 7 "github.com/xiaobinqt/libcompose/docker/client" 8 "github.com/xiaobinqt/libcompose/project" 9 ) 10 11 // Context holds context meta information about a libcompose project and docker 12 // client information (like configuration file, builder to use, …) 13 type Context struct { 14 project.Context 15 ClientFactory client.Factory 16 ConfigDir string 17 ConfigFile *configfile.ConfigFile 18 AuthLookup auth.Lookup 19 } 20 21 // LookupConfig tries to load the docker configuration files, if any. 22 func (c *Context) LookupConfig() error { 23 if c.ConfigFile != nil { 24 return nil 25 } 26 27 config, err := cliconfig.Load(c.ConfigDir) 28 if err != nil { 29 return err 30 } 31 32 c.ConfigFile = config 33 34 return nil 35 }