summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Vieux <victor@docker.com>2013-12-03 14:11:33 -0800
committerVictor Vieux <victor@docker.com>2013-12-05 10:10:30 -0800
commitc3923766ffe11f7b034535c9d0261a5e9eeade0a (patch)
tree1c8e301f13dbea7bb10ffb88c716df3fc73b3e03
parentbcdc9f1ba9df6f1454e271fd7a52a08af0615d79 (diff)
downloaddocker-p2p_transfer.tar.gz
add docker://p2p_transfer
-rw-r--r--commands.go9
-rw-r--r--docs/sources/api/docker_remote_api_v1.8.rst5
-rw-r--r--server.go1
3 files changed, 13 insertions, 2 deletions
diff --git a/commands.go b/commands.go
index d7706e2660..bd12f932ad 100644
--- a/commands.go
+++ b/commands.go
@@ -2187,11 +2187,16 @@ func (cli *DockerCli) CmdLoad(args ...string) error {
}
v := url.Values{}
- v.Set("fromSrc", cmd.Arg(0))
+ src := cmd.Arg(0)
+ if strings.HasPrefix(src, "docker://") {
+ src = strings.TrimPrefix(src, "docker://")
+ src = "http://" + src[:strings.Index(src, "/")] + "/images" + src[strings.Index(src, "/"):] + "/get"
+ }
+ v.Set("fromSrc", src)
var in io.Reader
- if cmd.Arg(0) == "-" {
+ if src == "-" {
in = cli.in
}
diff --git a/docs/sources/api/docker_remote_api_v1.8.rst b/docs/sources/api/docker_remote_api_v1.8.rst
index 024e970e10..e3522ad191 100644
--- a/docs/sources/api/docker_remote_api_v1.8.rst
+++ b/docs/sources/api/docker_remote_api_v1.8.rst
@@ -1235,6 +1235,11 @@ Load a tarball with a set of images and tags into docker
HTTP/1.1 200 OK
+ {"status":"Loading","progressDetail":{"current":1,"total":100},"progress":"1 B/100 B"}
+ {"status":"Loading","progressDetail":{"current":5,"total":100},"progress":"5 B/100 B"}
+ {"status":"Loading","progressDetail":{"current":10,"total":100},"progress":"10 B/100 B"}
+ {"status":"Loaded: ubuntu:12.04"}
+
:query fromSrc: source to load, - means stdin
:statuscode 200: no error
:statuscode 500: server error
diff --git a/server.go b/server.go
index 42aa8202ff..4eed9e351e 100644
--- a/server.go
+++ b/server.go
@@ -387,6 +387,7 @@ func (srv *Server) ImageLoad(src string, in io.Reader, out io.Writer, sf *utils.
for imageName, tagMap := range repositories {
for tag, address := range tagMap {
+ out.Write(sf.FormatStatus("", "Loaded: "+imageName+":"+tag))
if err := srv.runtime.repositories.Set(imageName, tag, address, true); err != nil {
return err
}