diff --git a/builder.go b/builder.go index b15a71d62..717525831 100644 --- a/builder.go +++ b/builder.go @@ -110,7 +110,7 @@ func (builder *Builder) Build(dockerfile io.Reader, stdout io.Writer) error { } // Commit the container - base, err := builder.Commit(c, "", "", "", "") + base, err = builder.Commit(c, "", "", "", "") if err != nil { return err } diff --git a/commands.go b/commands.go index 85d71c648..84edecd3f 100644 --- a/commands.go +++ b/commands.go @@ -104,7 +104,7 @@ func (srv *Server) CmdInsert(stdin io.ReadCloser, stdout rcli.DockerConn, args . if err != nil { return err } - fmt.Fprintf(stdout, "%s\n", img) + fmt.Fprintf(stdout, "%s\n", img.Id) return nil } diff --git a/container.go b/container.go index 42f7db7a7..355ec51d3 100644 --- a/container.go +++ b/container.go @@ -170,7 +170,12 @@ func (settings *NetworkSettings) PortMappingHuman() string { // Inject the io.Reader at the given path. Note: do not close the reader func (container *Container) Inject(file io.Reader, pth string) error { - dest, err := os.Open(path.Join(container.rwPath(), pth)) + // Make sure the directory exists + if err := os.MkdirAll(path.Join(container.rwPath(), path.Dir(pth)), 0755); err != nil { + return err + } + // FIXME: Handle permissions/already existing dest + dest, err := os.Create(path.Join(container.rwPath(), pth)) if err != nil { return err }