mirror of
https://github.com/docker/cli.git
synced 2026-01-16 20:22:36 +03:00
Remove duplication of Dns in config merging.
Fixes #4714 Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4) Upstream-commit: 48cb2f03177732823b4091fd3ddd44b2bef2c58e Component: engine
This commit is contained in:
@@ -231,7 +231,7 @@ func TestMerge(t *testing.T) {
|
||||
volumesUser := make(map[string]struct{})
|
||||
volumesUser["/test3"] = struct{}{}
|
||||
configUser := &Config{
|
||||
Dns: []string{"3.3.3.3"},
|
||||
Dns: []string{"2.2.2.2", "3.3.3.3"},
|
||||
PortSpecs: []string{"3333:2222", "3333:3333"},
|
||||
Env: []string{"VAR2=3", "VAR3=3"},
|
||||
Volumes: volumesUser,
|
||||
|
||||
@@ -97,8 +97,15 @@ func Merge(userConf, imageConf *Config) error {
|
||||
if userConf.Dns == nil || len(userConf.Dns) == 0 {
|
||||
userConf.Dns = imageConf.Dns
|
||||
} else {
|
||||
//duplicates aren't an issue here
|
||||
userConf.Dns = append(userConf.Dns, imageConf.Dns...)
|
||||
dnsSet := make(map[string]struct{}, len(userConf.Dns))
|
||||
for _, dns := range userConf.Dns {
|
||||
dnsSet[dns] = struct{}{}
|
||||
}
|
||||
for _, dns := range imageConf.Dns {
|
||||
if _, exists := dnsSet[dns]; !exists {
|
||||
userConf.Dns = append(userConf.Dns, dns)
|
||||
}
|
||||
}
|
||||
}
|
||||
if userConf.Entrypoint == nil || len(userConf.Entrypoint) == 0 {
|
||||
userConf.Entrypoint = imageConf.Entrypoint
|
||||
|
||||
Reference in New Issue
Block a user