diff --git a/dockerclient.go b/dockerclient.go index 43f4e71..21f1c08 100644 --- a/dockerclient.go +++ b/dockerclient.go @@ -355,18 +355,19 @@ func (client *DockerClient) ExecCreate(config *ExecConfig) (string, error) { return createExecResp.Id, nil } -func (client *DockerClient) ExecStart(id string, config *ExecConfig) error { +func (client *DockerClient) ExecStart(id string, config *ExecConfig) (string, error) { data, err := json.Marshal(config) if err != nil { - return err + return "",err } uri := fmt.Sprintf("/%s/exec/%s/start", APIVersion, id) - if _, err := client.doRequest("POST", uri, data, nil); err != nil { - return err + result, err := client.doRequest("POST", uri, data, nil) + if err != nil { + return "",err } - return nil + return string(result), nil } func (client *DockerClient) ExecResize(id string, width, height int) error { diff --git a/interface.go b/interface.go index b373055..c00131b 100644 --- a/interface.go +++ b/interface.go @@ -23,7 +23,7 @@ type Client interface { // closed. ContainerStats(id string, stopChan <-chan struct{}) (<-chan StatsOrError, error) ExecCreate(config *ExecConfig) (string, error) - ExecStart(id string, config *ExecConfig) error + ExecStart(id string, config *ExecConfig) (string,error) ExecResize(id string, width, height int) error StartContainer(id string, config *HostConfig) error AttachContainer(id string, options *AttachOptions) (io.ReadCloser, error)