diff --git a/runtime.go b/runtime.go index d9f5b415906a04a5d66d99a4ea3bdb3275f6173a..1eaa11c18445a56f897192c5752af5a837c33ebc 100644 --- a/runtime.go +++ b/runtime.go @@ -317,18 +317,27 @@ func (runtime *Runtime) Create(config *Config, name string) (*Container, []strin return nil, nil, err } - if img.Config != nil { - if err := MergeConfig(config, img.Config); err != nil { - return nil, nil, err + checkDeprecatedExpose := func(config *Config) bool { + if config != nil { + if config.PortSpecs != nil { + for _, p := range config.PortSpecs { + if strings.Contains(p, ":") { + return true + } + } + } } + return false } + warnings := []string{} - if config.PortSpecs != nil { - for _, p := range config.PortSpecs { - if strings.Contains(p, ":") { - warnings = append(warnings, "The mapping to public ports on your host has been deprecated. Use -p to publish the ports.") - break - } + if checkDeprecatedExpose(img.Config) || checkDeprecatedExpose(config) { + warnings = append(warnings, "The mapping to public ports on your host has been deprecated. Use -p to publish the ports.") + } + + if img.Config != nil { + if err := MergeConfig(config, img.Config); err != nil { + return nil, nil, err } }