Browse code

Fix `docker cp` trying to untar files that do not exist.

Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <erik@hollensbe.org> (github: erikh)

Erik Hollensbe authored on 2014/03/17 02:48:46
Showing 1 changed files
... ...
@@ -894,6 +894,9 @@ func postContainersCopy(eng *engine.Engine, version version.Version, w http.Resp
894 894
 	if copyData.Get("Resource") == "" {
895 895
 		return fmt.Errorf("Path cannot be empty")
896 896
 	}
897
+
898
+	origResource := copyData.Get("Resource")
899
+
897 900
 	if copyData.Get("Resource")[0] == '/' {
898 901
 		copyData.Set("Resource", copyData.Get("Resource")[1:])
899 902
 	}
... ...
@@ -904,6 +907,8 @@ func postContainersCopy(eng *engine.Engine, version version.Version, w http.Resp
904 904
 		utils.Errorf("%s", err.Error())
905 905
 		if strings.Contains(err.Error(), "No such container") {
906 906
 			w.WriteHeader(http.StatusNotFound)
907
+		} else if strings.Contains(err.Error(), "no such file or directory") {
908
+			return fmt.Errorf("Could not find the file %s in container %s", origResource, vars["name"])
907 909
 		}
908 910
 	}
909 911
 	return nil