diff --git a/daemon/daemon.go b/daemon/daemon.go index 20b95a95a2..bbda119907 100644 --- a/daemon/daemon.go +++ b/daemon/daemon.go @@ -11,6 +11,7 @@ import ( "io/ioutil" "math/rand" "net" + "net/url" "os" "path" "path/filepath" @@ -159,15 +160,18 @@ func (daemon *Daemon) NewResolveOptionsFunc() resolver.ResolveOptionsFunc { ) // must trim "https://" or "http://" prefix for i, v := range daemon.configStore.Mirrors { - v = strings.TrimPrefix(v, "https://") - v = strings.TrimPrefix(v, "http://") + if uri, err := url.Parse(v); err == nil { + v = uri.Host + } mirrors[i] = v } // set "registry-mirrors" m[registryKey] = resolver.RegistryConf{Mirrors: mirrors} // set "insecure-registries" for _, v := range daemon.configStore.InsecureRegistries { - v = strings.TrimPrefix(v, "http://") + if uri, err := url.Parse(v); err == nil { + v = uri.Host + } m[v] = resolver.RegistryConf{ PlainHTTP: true, }