mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	Merge pull request #4775 from LK4D4/remove_duplicate_dns_#4714
Remove duplication of Dns in config merging.
This commit is contained in:
		
						commit
						5294bf7e67
					
				
					 2 changed files with 10 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -247,7 +247,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.DnsSearch == nil || len(userConf.DnsSearch) == 0 {
 | 
			
		||||
		userConf.DnsSearch = imageConf.DnsSearch
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue