|
@@ -29,9 +29,20 @@ var (
|
|
configDir = os.Getenv("DOCKER_CONFIG")
|
|
configDir = os.Getenv("DOCKER_CONFIG")
|
|
)
|
|
)
|
|
|
|
|
|
|
|
+func getDefaultConfigDir(confFile string) string {
|
|
|
|
+ confDir := filepath.Join(homedir.Get(), confFile)
|
|
|
|
+ // if the directory doesn't exist, maybe we called docker with sudo
|
|
|
|
+ if _, err := os.Stat(configDir); err != nil {
|
|
|
|
+ if os.IsNotExist(err) {
|
|
|
|
+ return filepath.Join(homedir.GetWithSudoUser(), confFile)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return confDir
|
|
|
|
+}
|
|
|
|
+
|
|
func init() {
|
|
func init() {
|
|
if configDir == "" {
|
|
if configDir == "" {
|
|
- configDir = filepath.Join(homedir.Get(), ".docker")
|
|
|
|
|
|
+ configDir = getDefaultConfigDir(".docker")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -178,7 +189,7 @@ func Load(configDir string) (*ConfigFile, error) {
|
|
}
|
|
}
|
|
|
|
|
|
// Can't find latest config file so check for the old one
|
|
// Can't find latest config file so check for the old one
|
|
- confFile := filepath.Join(homedir.Get(), oldConfigfile)
|
|
|
|
|
|
+ confFile := getDefaultConfigDir(oldConfigfile)
|
|
if _, err := os.Stat(confFile); err != nil {
|
|
if _, err := os.Stat(confFile); err != nil {
|
|
return &configFile, nil //missing file is not an error
|
|
return &configFile, nil //missing file is not an error
|
|
}
|
|
}
|