Browse code

daemon: fix mirrors validation

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

Tonis Tiigi authored on 2019/04/03 03:37:44
Showing 1 changed files
... ...
@@ -11,6 +11,7 @@ import (
11 11
 	"io/ioutil"
12 12
 	"math/rand"
13 13
 	"net"
14
+	"net/url"
14 15
 	"os"
15 16
 	"path"
16 17
 	"path/filepath"
... ...
@@ -159,15 +160,18 @@ func (daemon *Daemon) NewResolveOptionsFunc() resolver.ResolveOptionsFunc {
159 159
 		)
160 160
 		// must trim "https://" or "http://" prefix
161 161
 		for i, v := range daemon.configStore.Mirrors {
162
-			v = strings.TrimPrefix(v, "https://")
163
-			v = strings.TrimPrefix(v, "http://")
162
+			if uri, err := url.Parse(v); err == nil {
163
+				v = uri.Host
164
+			}
164 165
 			mirrors[i] = v
165 166
 		}
166 167
 		// set "registry-mirrors"
167 168
 		m[registryKey] = resolver.RegistryConf{Mirrors: mirrors}
168 169
 		// set "insecure-registries"
169 170
 		for _, v := range daemon.configStore.InsecureRegistries {
170
-			v = strings.TrimPrefix(v, "http://")
171
+			if uri, err := url.Parse(v); err == nil {
172
+				v = uri.Host
173
+			}
171 174
 			m[v] = resolver.RegistryConf{
172 175
 				PlainHTTP: true,
173 176
 			}