abord build if mergeConfig returns an error and fix duplicate error message
Upstream-commit: 5bd0437eedf8036b9648dd095b22d0772fa47e4d Component: engine
This commit is contained in:
@ -892,8 +892,7 @@ func postBuild(srv *Server, version float64, w http.ResponseWriter, r *http.Requ
|
||||
b := NewBuildFile(srv, utils.NewWriteFlusher(w), !suppressOutput, !noCache, rm)
|
||||
id, err := b.Build(context)
|
||||
if err != nil {
|
||||
fmt.Fprintf(w, "Error build: %s\n", err)
|
||||
return err
|
||||
return fmt.Errorf("Error build: %s", err)
|
||||
}
|
||||
if repoName != "" {
|
||||
srv.runtime.repositories.Set(repoName, tag, id, false)
|
||||
|
||||
@ -282,7 +282,9 @@ func (runtime *Runtime) Create(config *Config) (*Container, error) {
|
||||
}
|
||||
|
||||
if img.Config != nil {
|
||||
MergeConfig(config, img.Config)
|
||||
if err := MergeConfig(config, img.Config); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
if len(config.Entrypoint) != 0 && config.Cmd == nil {
|
||||
|
||||
@ -65,7 +65,7 @@ func CompareConfig(a, b *Config) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func MergeConfig(userConf, imageConf *Config) {
|
||||
func MergeConfig(userConf, imageConf *Config) error {
|
||||
if userConf.User == "" {
|
||||
userConf.User = imageConf.User
|
||||
}
|
||||
@ -85,7 +85,10 @@ func MergeConfig(userConf, imageConf *Config) {
|
||||
found := false
|
||||
imageNat, _ := parseNat(imagePortSpec)
|
||||
for _, userPortSpec := range userConf.PortSpecs {
|
||||
userNat, _ := parseNat(userPortSpec)
|
||||
userNat, err := parseNat(userPortSpec)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if imageNat.Proto == userNat.Proto && imageNat.Backend == userNat.Backend {
|
||||
found = true
|
||||
}
|
||||
@ -146,6 +149,7 @@ func MergeConfig(userConf, imageConf *Config) {
|
||||
userConf.Volumes[k] = v
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func parseLxcConfOpts(opts ListOpts) ([]KeyValuePair, error) {
|
||||
|
||||
Reference in New Issue
Block a user